学院首页>网络编程>SQL Server>取汉字拼音首字母的存储过程

取汉字拼音首字母的存储过程

作者: 来源: 添加时间:2006-5-22 11:13:25
  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

站内搜索