Sql Sever 字符串截取汉字(sql数据库)

网友投稿 931 2022-09-07

Sql Sever 字符串截取汉字(sql数据库)

Sql Sever 字符串截取汉字(sql数据库)

最近需要在SQL的字符串中截取汉字,利用unicode函数判断字符的unicode编码,根据编码范围过滤掉非汉字字符。

写成了一个function

/*@str 需要获取汉字的字符串*/

create function CharRep(@str nvarchar(200))

returns nvarchar(200)

as 

begin 

 declare @i int, @char nvarchar(1), @zh nvarchar(200)

 set @i = 1

 set @zh = ''

 while @i <= len(@str)

 begin

  set @char = substring(@str, @i, 1)

  if  unicode(@char) between 19968 And 40869

   set @zh = @zh + @char

  set @i = @i + 1

 end

 return @zh

end

执行 select dbo.CharRep('侬好a/bc  侬好')

结果  a/bc

附:

unicode编码范围:

汉字:[0x4e00,0x9fa5](或十进制[19968,40869])

数字:[0x30,0x39](或十进制[48, 57])搜索

小写字母:[0x61,0x7a](或十进制[97, 122])

大写字母:[0x41,0x5a](或十进制[65, 90])

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Oracle或者Pl/Sql中001与1一样吗?
下一篇:保函
相关文章

 发表评论

暂时没有评论,来抢沙发吧~