首页 > 数据库技术 > 详细

sqlserver取字符串拼音首字母

时间:2019-11-27 10:14:15      阅读:74      评论:0      收藏:0      [点我收藏+]
原文:sqlserver取字符串拼音首字母

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
技术分享图片

 

sqlserver取字符串拼音首字母

原文:https://www.cnblogs.com/lonelyxmas/p/11939687.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!