sqlserver取字符串拼音首字母[通俗易懂]

sqlserver取字符串拼音首字母[通俗易懂]sqlserver 使用函数获取一个字符串的拼音首字母 create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar

sqlserver 使用函数获取一个字符串的拼音首字母

create function dbo.fn_getpinyin
(
    @str nvarchar(max)
)
returns nvarchar(max)
as
begin
    declare @word nchar(1),@PY nvarchar(max)

    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

代码100分

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10877.html

(0)
上一篇 2022-12-20
下一篇 2022-12-20

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注