生成汉字拼音首字母函数!
2008-06-09 16:20
387 查看
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
添加至用户自定义函数
SQL语句中 调用dbo.fun_getPY()
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
添加至用户自定义函数
SQL语句中 调用dbo.fun_getPY()
相关文章推荐
- EXLE中将汉字转换为拼音首字母的函数
- 关于汉字生成拼音的的函数
- 取汉字拼音首字母函数
- PHP将汉字转化成拼音的函数(用于取首字母索引或按字母排序中文)
- ORACLE函数获取汉字拼音首字母
- 【函数分享】快速生成汉字的首拼字母【经典】
- sql server自动生成拼音首字母的函数
- 将汉字转为全拼或返回拼音首字母的函数
- 取汉字拼音首字母的存储过程--很值得收藏的数据库自定义函数
- MySQL数据库获取汉字拼音的首字母函数
- MySQL数据库获取汉字拼音的首字母函数
- 取汉字拼音首字母函数
- MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)
- 取得汉字字符串的拼音首字母的mssql函数
- ORACLE函数获取汉字拼音首字母
- 在DB2 中创建一个获取汉字拼音首字母的SQL 函数
- SQL取汉字拼音首字母的存储过程、函数
- Oracle将汉字转为全拼或返回拼音首字母的函数
- php 获取汉字拼音首字母的函数