会员
众包
新闻
博问
闪存
云市场
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
河南恒友科贸有限公司
持之以恒 用户挚友 技术为本 服务为魂
导航
博客园
首页
新随笔
联系
订阅
管理
公告
取汉字拼音首字母的通用存储过程
Posted on
2007-04-11 10:16
pegger
阅读(
247
) 评论(
0
)
编辑
收藏
举报
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
指间灵动,快码加编
刷新页面
返回顶部
Powered by:
博客园
Copyright © 2024 pegger
Powered by .NET 8.0 on Kubernetes
河南恒友科贸有限公司
电话 :0371-53733453 传真:0371-65388972
地址:郑州市郑花路8号 E-mail:hengyousoft@QQ.com