教你用SQL函数实现中文转首字母,sql函数
教你用SQL函数实现中文转首字母
create function dbo.fun_getPY(@str nvarchar(255)) returns nvarchar(50) as begin declare @word nchar(1),@PY nvarchar(50) 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 GO select dbo.fun_getPY('中国')
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。