手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server编写函数获取汉字的拼音码
SQL Server编写函数获取汉字的拼音码
摘要:SQLServer编写函数获取汉字的拼音码(首字母)Createfunctionfun_getPY(@strnvarchar(4000))r...

SQL Server编写函数获取汉字的拼音码(首字母)

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

--调用

select dbo.fun_getpy('张三')

--结果:ZS

【SQL Server编写函数获取汉字的拼音码】相关文章:

SQL Server 2008 评估期已过怎么解决

SqlServer 分页存储过程

SQLServer和Oracle常用函数对比

Sql Server中一次更新多列数据

SQL Server 海量数据导入的最快方法

SQL Server2008中删除重复记录的方法分享

SQL Server 2005中更改sa的用户名的方法

SQL Server数据库中的存储过程介绍

获取MSSQL数据字典的SQL语句

和表值函数连接引发的性能问题分析

精品推荐
分类导航