zoukankan      html  css  js  c++  java
  • sql获取汉字的拼音首字母

    /*创建取拼音首字母函数*/ 
    create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)='') 
    returns varchar(500) 
    as 
    begin /*函数实现开始*/ 
         declare @strLen int,@return varchar(500),@i int 
         declare @n int,@c char(1),@chn nchar(1)  
         select @strLen=len(@strChinese),@return='',@i=0 
         while @i<@strLen 
         begin /*while循环开始*/
                 select @i=@i+1,@n=63,@chn=substring(@strChinese,@i,1) 
                 if @chn>'z'/*原理:“字符串排序以及ASCII码表”*/                
                     select @n = @n +1,@c =case chn when @chn then char(@n) else @c end from(select top 27 * from (select chn = '' union all select '' union all select '' union all select '' union all select ''  union all select ''  union all select ''  union all select ''  union all select '' /*because have no 'i'*/ union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' union all select '' /*no 'u'*/ union all select '' /*no 'v'*/ union all select '' union all select '' union all select '' union all select '' union all select @chn) as a  order by chn COLLATE Chinese_PRC_CI_AS ) as b  
                 else
                     set @c=@chn
                 set @return=@return+@c  
         end /*while循环结束*/  
         return(@return)  
    end /*函数实现结束*/

    使用方式:
    select dbo.[fn_ChineseToSpell]('吴缤')

  • 相关阅读:
    StandardWrapper ...$$EnhancerByCGLIB$$b9
    Exception in thread "main" java.lang.ClassCastException: $Proxy13
    Mybatis 源码阅读 (一)
    Thread 中yield(), join()
    java 中类型后面三个点的用法
    JAVA 中汉字在不同编码下的字节不同
    Spring FIlterType
    MyBaties学习记录
    MyBaties学习记录Settings参数详解
    JavaScript学习笔记
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/2791054.html
Copyright © 2011-2022 走看看