WEB开发网
开发学院数据库MSSQL Server SQL Server中取汉字拼音的函数 阅读

SQL Server中取汉字拼音的函数

 2008-10-07 10:06:11 来源:WEB开发网   
核心提示:Createfunction fun_getPY(@str nvarchar(4000))returns nvarchar(4000)asbegindeclare @word nchar(1),@PY nvarchar(4000)set @PY=''while len(@str)>0beginse

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

请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz.com(把#改为@)。

Tags:SQL Server 汉字

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接