取汉字拼音首字母的存储历程[MSSQL防范]
本文“取汉字拼音首字母的存储历程[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
? 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
以上是“取汉字拼音首字母的存储历程[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:本文地址: | 与您的QQ/BBS好友分享! |