zoukankan      html  css  js  c++  java
  • 用SQL语句可以取出中文汉字的首字母

    if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[fGetPy]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))  
      drop   function   [dbo].[fGetPy]  
      GO  

    --创建取拼音函数  
      create   function   fGetPy(@Str   varchar(500)='')  
      returns   varchar(500)  
      as  
      begin  
      declare   @strlen   int,@return   varchar(500),@ii   int  
      declare   @n   int,@c   char(1),@chn   nchar(1)  
       
      select   @strlen=len(@str),@return='',@ii=0  
      set   @ii=0  
      while   @ii<@strlen  
      begin  
      select   @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)  
      if   @chn>'z'  
      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='a'  
      set   @return=@return+@c  
      end  
      return(@return)  
      end  
       
      go  
      --测试  
      select   dbo.fgetpy('东莞市')   as   东莞市,dbo.fgetpy('ab中c国人')   as   中国人  
       
      --删除拼音函数  
      drop   function   fgetpy  

  • 相关阅读:
    web前端要学哪些?
    angularjs factory,service,provider 自定义服务的不同
    PSP软件开发过程
    Eclipse连接sqlserver体验过程
    在线制作GIF图片项目愿景与范围
    C# Hashtable vs Dictionary 学习笔记
    Unity 工作经历+近期面试经历
    配置文件加载的一个坑
    rabbitmq exchange type
    centos7下nginx添加到自定义系统服务中提示Access denied
  • 原文地址:https://www.cnblogs.com/gaoyuchuanIT/p/1692371.html
Copyright © 2011-2022 走看看