ITPub博客

首页 > 数据库 > SQL Server > sqlserver实现获取汉字助记码功能汉字拼音字母

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

原创 SQL Server 作者:apollotgl 时间:2020-01-09 16:45:57 0 删除 编辑

--01--首先创建一个函数,其功能就是功能是得到汉字拼音首字母

go

if exists (select * from sysobjects where name='fun_getPY' and xtype='Fn')

begin

drop function fun_getPY

end

go

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

go


--函数调用实例1:生成指定字符的助记码 

select dbo.fun_getPY('中国-郑州') FhelperCode 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69926160/viewspace-2672714/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-06-03

  • 博文量
    2
  • 访问量
    1252