zoukankan      html  css  js  c++  java
  • SQL取汉字拼音首字母的存储过程、函数

    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(@wordbetween 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

  • 相关阅读:
    oracle数据库sql中文乱码问题,字符编码环境变量
    oracle数据库序列自增id
    上线注意事项
    impdp 导出导入注意事项
    linux 上不同用户权限问题
    plsql 工具命令窗口执行sql脚本问题
    oracle创建用户
    Redis会遇到的15个坑
    JavaScript的标准库
    JavaScript的运算符
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631497.html
Copyright © 2011-2022 走看看