sqlserver实现获取汉字助记码功能汉字拼音字母

来源:这里教程网 时间:2026-03-02 11:52:22 作者:

--01--首先创建一个函数,其功能就是功能是得到汉字拼音首字母goif exists (select * from sysobjects where name='fun_getPY' and xtype='Fn')begindrop function fun_getPYendgocreate function fun_getPY(@str nvarchar(4000))/*得到汉字拼音首字母*/returns nvarchar(4000)asbegindeclare @word nchar(1),@PY nvarchar(4000)set @PY=''while len(@str)>0beginset @word=left(@str,1)--如果非汉字字符,返回原字符set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901then (select top 1 PY from (select 'A' as PY,N'驁' as wordunion 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'咗') Twhere word>=@word collate Chinese_PRC_CS_AS_KS_WSorder by PY ASC) else @word end)set @str=right(@str,len(@str)-1)endreturn @PYendgo --函数调用实例1:生成指定字符的助记码 select dbo.fun_getPY('中国-郑州') FhelperCode 

相关推荐