SQL中有多种的函数,下面为您介绍sql中汉字转换为拼音的函数,供您参考。数据库中先自定义一个函数,再把下面代码写进去,功能是得到汉字拼音首字母:
如下:
01 |
create function fun_getPY(@str nvarchar(4000)) |
02 |
returns nvarchar(4000) |
03 |
as |
04 |
begin |
05 |
declare @word nchar (1),@PY nvarchar(4000) |
06 |
set @PY= '' |
07 |
while len(@str)>0 |
08 |
begin |
09 |
set @word= left (@str,1) |
10 |
--如果非汉字字符,返回原字符 |
11 |
set @PY=@PY+( case when unicode(@word) between 19968 and 19968+20901 |
12 |
then ( select top 1 PY from ( |
13 |
select 'A' as PY,N '驁' as word |
14 |
union all select 'B' ,N '簿' |
15 |
union all select 'C' ,N '錯' |
16 |
union all select 'D' ,N '鵽' |
17 |
union all select 'E' ,N '樲' |
18 |
union all select 'F' ,N '鰒' |
19 |
union all select 'G' ,N '腂' |
20 |
union all select 'H' ,N '夻' |
21 |
union all select 'J' ,N '攈' |
22 |
union all select 'K' ,N '穒' |
23 |
union all select 'L' ,N '鱳' |
24 |
union all select 'M' ,N '旀' |
25 |
union all select 'N' ,N '桛' |
26 |
union all select 'O' ,N '漚' |
27 |
union all select 'P' ,N '曝' |
28 |
union all select 'Q' ,N '囕' |
29 |
union all select 'R' ,N '鶸' |
30 |
union all select 'S' ,N '蜶' |
31 |
union all select 'T' ,N '籜' |
32 |
union all select 'W' ,N '鶩' |
33 |
union all select 'X' ,N '鑂' |
34 |
union all select 'Y' ,N '韻' |
35 |
union all select 'Z' ,N '咗' |
36 |
) T |
37 |
where word>=@word collate Chinese_PRC_CS_AS_KS_WS |
38 |
order by PY ASC ) else @word end ) |
39 |
set @str= right (@str,len(@str)-1) |
40 |
end |
41 |
return @PY |
42 |
end |
--函数调用实例:
select dbo.fun_getPY('中华人民共和国')
结果都为:ZHRMGHG
【编辑推荐】