C#、Oracle、Sql server中拼音查询的函数
2017-09-20 20:00
183 查看
C# sqlserver oracle 的都有 不过发现那个 C# 的好像"楠"字查的时候会有问题。。。不知道为啥。。
C#
1
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/// <summary>
2
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 生成拼音简码
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="unicodeString">Unicode编码字符串</param>
5
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
/// <returns>拼音简码:string</returns>
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static string GetPinyinCode(string unicodeString)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int i = 0;
9
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ushort key = 0;
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strResult = string.Empty;
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//创建两个不同的encoding对象
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Encoding unicode = Encoding.Unicode;
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//创建GBK码对象
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Encoding gbk = Encoding.GetEncoding(936);
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//将unicode字符串转换为字节
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
byte[] unicodeBytes = unicode.GetBytes(unicodeString);
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//再转化为GBK码
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
byte[] gbkBytes = Encoding.Convert(unicode, gbk, unicodeBytes);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
while (i < gbkBytes.Length)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//如果为数字\字母\其他ASCII符号
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (gbkBytes[i] <= 127)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + (char)gbkBytes[i];
25
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
i++;
26
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
27
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
#region 否则生成汉字拼音简码,取拼音首字母
28
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
29
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
30
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
key = (ushort)(gbkBytes[i] * 256 + gbkBytes[i + 1]);
32
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (key >= '\uB0A1' && key <= '\uB0C4')
33
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
34
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "A";
35
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
36
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB0C5' && key <= '\uB2C0')
37
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
38
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "B";
39
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
40
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB2C1' && key <= '\uB4ED')
41
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
42
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "C";
43
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
44
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB4EE' && key <= '\uB6E9')
45
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
46
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "D";
47
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
48
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB6EA' && key <= '\uB7A1')
49
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
50
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "E";
51
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
52
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB7A2' && key <= '\uB8C0')
53
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
54
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "F";
55
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
56
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB8C1' && key <= '\uB9FD')
57
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
58
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "G";
59
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
60
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB9FE' && key <= '\uBBF6')
61
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
62
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "H";
63
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
64
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uBBF7' && key <= '\uBFA5')
65
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
66
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "J";
67
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
68
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uBFA6' && key <= '\uC0AB')
69
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
70
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "K";
71
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
72
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC0AC' && key <= '\uC2E7')
73
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
74
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "L";
75
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
76
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC2E8' && key <= '\uC4C2')
77
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
78
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "M";
79
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
80
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC4C3' && key <= '\uC5B5')
81
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
82
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "N";
83
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
84
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC5B6' && key <= '\uC5BD')
85
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
86
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "O";
87
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
88
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC5BE' && key <= '\uC6D9')
89
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
90
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "P";
91
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
92
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC6DA' && key <= '\uC8BA')
93
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
94
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Q";
95
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
96
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC8BB' && key <= '\uC8F5')
97
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
98
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "R";
99
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
100
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC8F6' && key <= '\uCBF9')
101
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
102
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "S";
103
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
104
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCBFA' && key <= '\uCDD9')
105
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
106
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "T";
107
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
108
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCDDA' && key <= '\uCEF3')
109
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
110
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "W";
111
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
112
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCEF4' && key <= '\uD188')
113
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
114
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "X";
115
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
116
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uD1B9' && key <= '\uD4D0')
117
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
118
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Y";
119
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
120
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uD4D1' && key <= '\uD7F9')
121
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
122
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Z";
123
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
124
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
125
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
126
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "?";
127
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
128
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
i = i + 2;
129
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
130
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
#endregion
131
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}//end while
132
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return strResult;
134
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
Oracle
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
create or replace function fGetPy
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
(V_Str varchar2)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return varchar2
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
as
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_strlen int;
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return varchar2(500);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii int ;
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_n int;
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c char(1);
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_chn varchar2(2);
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
V_RC varchar2(500);
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
V_RC:=V_Str;
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_strlen :=len(V_RC);
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return := '';
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii:=0;
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
while v_ii<v_strlen loop
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii:=v_ii+1;
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_n:=63;
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT substring(V_RC,v_ii,1) INTO v_chn FROM DUAL;
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select v_n+max(rowsf) into v_n
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
from(
26
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn,ROWNUM rowsf from(
27
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn from (
28
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select '吖' chn from dual
29
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union select '八' from dual
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嚓' from dual
31
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咑' from dual
32
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妸' from dual
33
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '发' from dual
34
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '旮' from dual
35
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '铪' from dual
36
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' from dual--because have no 'i'
37
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' from dual
38
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咔' from dual
39
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '垃' from dual
40
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嘸' from dual
41
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '拏' from dual
42
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '噢' from dual
43
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妑' from dual
44
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '七' from dual
45
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '呥' from dual
46
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '仨' from dual
47
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '他' from dual
48
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
49
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
50
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
51
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '夕' from dual
52
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丫' from dual
53
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '帀' from dual
54
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select v_chn from dual
55
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) a
56
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
order by nlssort(chn,'NLS_SORT=SCHINESE_PINYIN_M')
57
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) c
58
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) b WHERE chn=v_chn ;
59
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
60
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
61
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c:=chr(v_n);
62
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if chr(v_n) ='@' then--英文直接返回
63
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c:=v_chn ;
64
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end if;
65
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
66
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
67
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return:=v_return||v_c;
68
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end loop;
69
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
70
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return v_return;
71
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end;
sql server
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
create function fGetPy(@Str varchar(500)='')
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
returns varchar(500)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
as
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
declare @strlen int,@return varchar(500),@ii int
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
declare @n int,@c char(1),@chn nchar(1)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @strlen=len(@str),@return='',@ii=0
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
set @ii=0
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
while @ii<@strlen
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @n = @n +1
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
,@c = case chn when @chn then char(@n) else @c end
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
from(
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select top 27 * from (
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn = '吖'
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '八'
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嚓'
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咑'
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妸'
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '发'
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '旮'
24
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '铪'
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' --because have no 'i'
26
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌'
27
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咔'
28
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '垃'
29
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嘸'
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '拏'
31
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '噢'
32
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妑'
33
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '七'
34
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '呥'
35
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '仨'
36
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '他'
37
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' --no 'u'
38
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' --no 'v'
39
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲'
40
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '夕'
41
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丫'
42
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '帀'
43
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select @chn) as a
44
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
order by chn COLLATE Chinese_PRC_CI_AS
45
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) as b
46
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
set @return=@return+@c
47
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end
48
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return(@return)
49
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end
C#
1
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/// <summary>
2
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 生成拼音简码
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="unicodeString">Unicode编码字符串</param>
5
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
/// <returns>拼音简码:string</returns>
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static string GetPinyinCode(string unicodeString)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
int i = 0;
9
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ushort key = 0;
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strResult = string.Empty;
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//创建两个不同的encoding对象
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Encoding unicode = Encoding.Unicode;
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//创建GBK码对象
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Encoding gbk = Encoding.GetEncoding(936);
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//将unicode字符串转换为字节
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
byte[] unicodeBytes = unicode.GetBytes(unicodeString);
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//再转化为GBK码
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
byte[] gbkBytes = Encoding.Convert(unicode, gbk, unicodeBytes);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
while (i < gbkBytes.Length)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//如果为数字\字母\其他ASCII符号
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (gbkBytes[i] <= 127)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + (char)gbkBytes[i];
25
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
i++;
26
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
27
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
#region 否则生成汉字拼音简码,取拼音首字母
28
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
29
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
30
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
key = (ushort)(gbkBytes[i] * 256 + gbkBytes[i + 1]);
32
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (key >= '\uB0A1' && key <= '\uB0C4')
33
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
34
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "A";
35
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
36
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB0C5' && key <= '\uB2C0')
37
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
38
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "B";
39
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
40
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB2C1' && key <= '\uB4ED')
41
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
42
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "C";
43
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
44
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB4EE' && key <= '\uB6E9')
45
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
46
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "D";
47
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
48
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB6EA' && key <= '\uB7A1')
49
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
50
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "E";
51
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
52
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB7A2' && key <= '\uB8C0')
53
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
54
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "F";
55
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
56
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB8C1' && key <= '\uB9FD')
57
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
58
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "G";
59
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
60
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uB9FE' && key <= '\uBBF6')
61
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
62
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "H";
63
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
64
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uBBF7' && key <= '\uBFA5')
65
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
66
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "J";
67
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
68
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uBFA6' && key <= '\uC0AB')
69
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
70
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "K";
71
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
72
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC0AC' && key <= '\uC2E7')
73
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
74
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "L";
75
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
76
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC2E8' && key <= '\uC4C2')
77
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
78
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "M";
79
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
80
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC4C3' && key <= '\uC5B5')
81
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
82
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "N";
83
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
84
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC5B6' && key <= '\uC5BD')
85
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
86
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "O";
87
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
88
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC5BE' && key <= '\uC6D9')
89
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
90
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "P";
91
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
92
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC6DA' && key <= '\uC8BA')
93
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
94
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Q";
95
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
96
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC8BB' && key <= '\uC8F5')
97
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
98
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "R";
99
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
100
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uC8F6' && key <= '\uCBF9')
101
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
102
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "S";
103
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
104
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCBFA' && key <= '\uCDD9')
105
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
106
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "T";
107
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
108
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCDDA' && key <= '\uCEF3')
109
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
110
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "W";
111
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
112
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uCEF4' && key <= '\uD188')
113
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
114
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "X";
115
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
116
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uD1B9' && key <= '\uD4D0')
117
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
118
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Y";
119
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
120
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if (key >= '\uD4D1' && key <= '\uD7F9')
121
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
122
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "Z";
123
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
124
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
125
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
126
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strResult = strResult + "?";
127
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
128
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
i = i + 2;
129
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
130
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
#endregion
131
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}//end while
132
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return strResult;
134
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
Oracle
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
create or replace function fGetPy
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
(V_Str varchar2)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return varchar2
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
as
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_strlen int;
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return varchar2(500);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii int ;
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_n int;
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c char(1);
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_chn varchar2(2);
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
V_RC varchar2(500);
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
V_RC:=V_Str;
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_strlen :=len(V_RC);
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return := '';
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii:=0;
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
while v_ii<v_strlen loop
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_ii:=v_ii+1;
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_n:=63;
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT substring(V_RC,v_ii,1) INTO v_chn FROM DUAL;
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select v_n+max(rowsf) into v_n
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
from(
26
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn,ROWNUM rowsf from(
27
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn from (
28
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select '吖' chn from dual
29
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union select '八' from dual
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嚓' from dual
31
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咑' from dual
32
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妸' from dual
33
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '发' from dual
34
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '旮' from dual
35
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '铪' from dual
36
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' from dual--because have no 'i'
37
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' from dual
38
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咔' from dual
39
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '垃' from dual
40
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嘸' from dual
41
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '拏' from dual
42
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '噢' from dual
43
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妑' from dual
44
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '七' from dual
45
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '呥' from dual
46
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '仨' from dual
47
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '他' from dual
48
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
49
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
50
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' from dual
51
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '夕' from dual
52
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丫' from dual
53
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '帀' from dual
54
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select v_chn from dual
55
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) a
56
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
order by nlssort(chn,'NLS_SORT=SCHINESE_PINYIN_M')
57
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) c
58
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) b WHERE chn=v_chn ;
59
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
60
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
61
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c:=chr(v_n);
62
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if chr(v_n) ='@' then--英文直接返回
63
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_c:=v_chn ;
64
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end if;
65
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
66
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
67
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
v_return:=v_return||v_c;
68
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end loop;
69
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
70
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return v_return;
71
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end;
sql server
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
create function fGetPy(@Str varchar(500)='')
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
returns varchar(500)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
as
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
declare @strlen int,@return varchar(500),@ii int
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
declare @n int,@c char(1),@chn nchar(1)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @strlen=len(@str),@return='',@ii=0
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
set @ii=0
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
while @ii<@strlen
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
begin
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select @n = @n +1
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
,@c = case chn when @chn then char(@n) else @c end
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
from(
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select top 27 * from (
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
select chn = '吖'
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '八'
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嚓'
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咑'
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妸'
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '发'
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '旮'
24
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '铪'
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌' --because have no 'i'
26
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丌'
27
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '咔'
28
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '垃'
29
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '嘸'
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '拏'
31
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '噢'
32
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '妑'
33
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '七'
34
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '呥'
35
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '仨'
36
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '他'
37
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' --no 'u'
38
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲' --no 'v'
39
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '屲'
40
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '夕'
41
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '丫'
42
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select '帀'
43
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
union all select @chn) as a
44
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
order by chn COLLATE Chinese_PRC_CI_AS
45
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) as b
46
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
set @return=@return+@c
47
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end
48
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
return(@return)
49
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
end
相关文章推荐
- C#、Oracle、Sql server中拼音查询的函数
- C#、Oracle、Sql server中拼音查询的函数
- 使用Oracle函数实现按汉字拼音首字母查询功能
- 使用ORACLE函数实现按汉字拼音首字母查询
- Perl/C#连接Oracle/SQL Server
- Oracle大文本查询 汉字按拼音排序
- SQL Server和Oracle的常用函数对比
- Sql server,Oracle,MySQL随机查询记录
- [转]SQL Server和Oracle的常用函数对比
- Oracle基本操作五:简单查询与简单函数,组函数,分组
- Oracle列转行函数Listagg以及pivot查询示例
- 汉字转拼音缩写的函数(C#)
- 在SQL Server 2005中连接Oracle,完成查询、插入操作
- SQL Server 2005 技术内幕 TSQL查询学习笔记chapter4之三排名函数Row_number()和分页应用
- Oracle、MYSQL、sql server和DB2分页查询写法
- [DB][ORACLE]根据中文拼音首字母排序、取得中文拼音首字母函数
- SQL server 2005 时间函数应用 查询出结果为00:00:00 小时、分钟、秒
- Oracle和SQL Server的一些区别(函数和存储过程)
- Oracle循环查询结果集 自定义函数
- oracle plsql 根据 值 查询 在某个表,某个字段 和 sql server 中根据 值 查询 在某个表某个字段