Google

星期六, 十月 20, 2007

取汉字拼音首字母的存储过程

用途:取汉字拼音首字母
数据库:SQL Server
评论:目前为止最全面的取首字母函数,可惜不能获得全拼,看来有时间得查查unicode编码。
Create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin
declare @word nchar(1),@PY nvarchar(4000)
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

标签:

0 条评论:

发表评论

<< 主页

辽ICP备05003652号
流风洄雪听天籁,轻云蔽日看落花

Powered by Blogger