sql 函数 汉字转拼音
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
GO /****** Object: UserDefinedFunction [dbo].[fn_GetPy] Script Date : 2017/1/4 10:53:49 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO ALTER function [dbo].[fn_GetPy](@str nvarchar(4000))
returns nvarchar(4000)
--用于加密
--WITH ENCRYPTION as begin declare @intLen int
declare @strRet nvarchar(4000)
declare @ temp nvarchar(100)
set @intLen = len(@str)
set @strRet = ''
while @intLen > 0 begin set @ temp = ''
select @ temp = case
when substring (@str,@intLen,1) >= '帀' then 'Z'
when substring (@str,@intLen,1) >= '丫' then 'Y'
when substring (@str,@intLen,1) >= '夕' then 'X'
when substring (@str,@intLen,1) >= '屲' then 'W'
when substring (@str,@intLen,1) >= '他' then 'T'
when substring (@str,@intLen,1) >= '仨' then 'S'
when substring (@str,@intLen,1) >= '呥' then 'R'
when substring (@str,@intLen,1) >= '七' then 'Q'
when substring (@str,@intLen,1) >= '妑' then 'P'
when substring (@str,@intLen,1) >= '噢' then 'O'
when substring (@str,@intLen,1) >= '拏' then 'N'
when substring (@str,@intLen,1) >= '嘸' then 'M'
when substring (@str,@intLen,1) >= '垃' then 'L'
when substring (@str,@intLen,1) >= '咔' then 'K'
when substring (@str,@intLen,1) >= '丌' then 'J'
when substring (@str,@intLen,1) >= '铪' then 'H'
when substring (@str,@intLen,1) >= '旮' then 'G'
when substring (@str,@intLen,1) >= '发' then 'F'
when substring (@str,@intLen,1) >= '妸' then 'E'
when substring (@str,@intLen,1) >= '咑' then 'D'
when substring (@str,@intLen,1) >= '嚓' then 'C'
when substring (@str,@intLen,1) >= '八' then 'B'
when substring (@str,@intLen,1) >= '吖' then 'A'
else rtrim(ltrim( substring (@str,@intLen,1)))
end --对于汉字特殊字符,不生成拼音码 if (ascii(@ temp )>127) set @ temp = ''
--对于英文中小括号,不生成拼音码 if @ temp = '(' or @ temp = ')' set @ temp = ''
select @strRet = @ temp + @strRet
set @intLen = @intLen - 1
end return lower (@strRet)
end |
效果如下:
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/6247781.html,如需转载请自行联系原作者