取汉字拼间首字母函数
来源:互联网 发布:淘宝助理怎么上传图片 编辑:程序博客网 时间:2024/04/26 07:20
说明:我原来也写过一个相同功能的函数,今天看到了下面的代码,发现比我写的简洁多了,效率不错,特的抄录在下面。
/*
sql函数: fun_getPY 得到汉字串拼音
*/
sql函数: fun_getPY 得到汉字串拼音
*/
Create function fun_getPY
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
(
@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)
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
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
- 取汉字拼间首字母函数
- 取汉字拼音首字母函数
- 取汉字拼音首字母的函数
- 取汉字拼音首字母的函数
- 取汉字拼音首字母的函数
- [MSSQL]取汉字首字母的两个函数
- sqlserver取汉字的首字母的函数
- 取汉字首字母的两个函数
- 根据汉字取首字母
- C#取汉字首字母
- C# 取汉字首字母
- 取汉字首字母
- 取汉字首字母
- C#取汉字首字母
- 取汉字拼音首字母
- c# 取汉字首字母
- Delphi 取汉字首字母
- c# 取汉字首字母
- 设置emacs的默认字体
- 开发web应用难于上青天,web开发十八难
- IP 隧道技术:基础篇
- ultoa
- 巧用VBA自动处理Word表格
- 取汉字拼间首字母函数
- Apach+Tomcat+JDK 的配置方案
- 互联网财富新贵一夜崛起2----戴志康
- 如何用批处理文件修改网络连接
- addrtoa
- 多线程同步中的哲学家就餐问题 - linux 平台实现
- 互联网财富新贵一夜崛起1
- my Dream gril. 你压力很大吗??
- 一些经典的话