首页 > 开发 > 综合 > 正文

Sql Sever 字符串截取汉字

2024-07-21 02:48:19
字体:
来源:转载
供稿:网友
Sql Sever 字符串截取汉字

最近需要在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 = 1set @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 + 1endreturn @zhend

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

结果 a/bc

附:

unicode编码范围:汉字:[0x4e00,0x9fa5](或十进制[19968,40869])数字:[0x30,0x39](或十进制[48, 57])搜索小写字母:[0x61,0x7a](或十进制[97, 122])大写字母:[0x41,0x5a](或十进制[65, 90])


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表