SQL Server中取漢字拼音的函數 - sqlserver -

SQL Server中取漢字拼音的函數

時間:2013-08-13 12:46:04   來源:   評論:加載中...   點擊:加載中...
Create function fun_getPY ( @str nvarchar(4000) ) returns...

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 @[email protected]+(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>[email protected] 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(把#改為@)。



相關熱詞搜索:

 
上一篇:SQL數據庫用戶只有“名稱”而無“登陸名”解決
下一篇:SQL擴展存儲過程安裝與卸載
收藏 將此文推薦給朋友
分享到:
10个数复式三中三多少组公式