Sql Sever 字符串截取汉字

2018-07-13 08:48:16来源:编程学习网 阅读 ()

新老客户大回馈,云服务器低至5折

最近需要在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])

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MySQL CAST与CONVERT 函数的用法

下一篇:SQL图形化操作设置级联更新和删除

热门词条
热门标签