欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

sqlserver 截取字符串中的汉字

发布时间:2024/1/1 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 sqlserver 截取字符串中的汉字 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

需求:有类似以下字符串,'[{"name":"张三","id":"7217599451873"},{"name":"李四","id":"72175943232"}'
经过处理之后,返回以下格式类容: 张三,李四
即返回字符串中的汉字内容,并且以逗号隔开。

分析:截取字符串中的汉字,并进行拼接,可编写类似以下函数:

CREATE function getNames(@s varchar(500)) returns varchar(200) as begin DECLARE@temp VARCHAR ( MAX ) = ''if len(@s) = 0 or @s is nullreturn '无' SELECT@temp = @temp + SUBSTRING ( ch, sv.number, 1 ) FROM( SELECT @s AS ch ) t CROSS APPLY [master].dbo.spt_values AS sv WHEREsv.type = 'P' AND sv.number BETWEEN 1 AND LEN( ch ) AND (UNICODE( SUBSTRING ( ch, sv.number, 1 ) ) BETWEEN 19968AND 40869 or UNICODE ( SUBSTRING ( ch, sv.number, 1 ) ) = 125) set @temp = replace( @temp ,'}',',')set @temp = substring(@temp,1,len(@temp)-1) return @temp end

根据汉字的unicode码的范围来截取汉字,根据‘}’来进行替换拼接。

参考文章:

sqlserver 判断字符串中是否有中文 - cao919 - 博客园

总结

以上是生活随笔为你收集整理的sqlserver 截取字符串中的汉字的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。