首页 新闻 会员 周边 捐助

SQL SERVER 如何截取(中国_江西省_赣州市_瑞金市)这种字符串

0
悬赏园豆:15 [已解决问题] 解决于 2022-05-15 09:45

sql server 如何根据标记截取字符串

悬崖上的金鱼的主页 悬崖上的金鱼 | 初学一级 | 园豆:2
提问于:2022-05-10 11:56
< >
分享
最佳答案
0

新建一个函数:
CREATE FUNCTION [dbo].[f_SplitToNvarchar]
(
@SourceSql NVARCHAR(MAX),--源分隔字符串
@StrSeprate VARCHAR(10)--分隔符
)
RETURNS @temp TABLE(col NVARCHAR(MAX))
AS
BEGIN
DECLARE @i INT
SET @SourceSql = RTRIM(LTRIM(@SourceSql))
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
WHILE @i >= 1
BEGIN
INSERT @temp
VALUES
(
LEFT(@SourceSql, @i -1)
)
SET @SourceSql = SUBSTRING(@SourceSql, @i + 1, LEN(@SourceSql) -@i)
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
END
IF @SourceSql <> ''
INSERT @temp
VALUES
(
@SourceSql
)
RETURN
END
GO

调用:
SELECT col FROM f_SplitToNvarchar('中国_江西省_赣州市_瑞金市','_');

参考博客:http://www.manongjc.com/article/140852.html

收获园豆:15
顾星河 | 大侠五级 |园豆:7281 | 2022-05-10 14:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册