sqlserver 截取字符串中的汉字
生活随笔
收集整理的這篇文章主要介紹了
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 截取字符串中的汉字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器raid模式修改成ide,SkyI
- 下一篇: 倍儿爽!QQ轻聊版打造纯办公体验