sql server获取汉字首字母的函数(第一版)

发布时间:2020-11-25编辑:脚本学堂
server获取汉字首字母的函数(第一版),供大家学习参考。

sql server获取汉字首字母的函数(第一版),供大家学习参考。
 

复制代码 代码如下:
--取得汉字首字母函数
create function [dbo].[f_getpy_V1] (@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    
    go