sqlserver取字符串拼音首字母
程序员文章站
2022-05-31 19:47:00
sqlserver 使用函数获取一个字符串的拼音首字母 create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar(max) as begin declare @word nchar(1),@PY nvarchar ......
sqlserver 使用函数获取一个字符串的拼音首字母
create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar(max) as begin declare @word nchar(1),@py nvarchar(max) set @py='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @py=@py+(case when unicode(@word) between 19968 and 19968+20901 then (select top 1 py from ( select 'a' as py,n'驁' as word union all select 'b',n'簿' union all select 'c',n'錯' union all select 'd',n'鵽' union all select 'e',n'樲' union all select 'f',n'鰒' union all select 'g',n'腂' union all select 'h',n'夻' union all select 'j',n'攈' union all select 'k',n'穒' union all select 'l',n'鱳' union all select 'm',n'旀' union all select 'n',n'桛' union all select 'o',n'漚' union all select 'p',n'曝' union all select 'q',n'囕' union all select 'r',n'鶸' union all select 's',n'蜶' union all select 't',n'籜' union all select 'w',n'鶩' union all select 'x',n'鑂' union all select 'y',n'韻' union all select 'z',n'咗' ) t where word>=@word collate chinese_prc_cs_as_ks_ws order by py asc) else @word end) set @str=right(@str,len(@str)-1) end return @py end
上一篇: MySQL数据库优化技巧有哪些?
下一篇: 如何增强前端代码的健壮性