• SQL获取汉字首字母


    create function f_GetPy(@str nvarchar(4000))
    returns nvarchar(4000)
    as
    begin
    declare @strlen int,@re nvarchar(4000)
    declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1))
    insert into @t(chr,letter)
      select '','A' union all select '','B' union all
      select '','C' union all select '','D' union all
      select '','E' union all select '','F' union all
      select '','G' union all select '','H' union all
      select '','J' union all select '','K' union all
      select '','L' union all select '','M' union all
      select '','N' union all select '','O' union all
      select '','P' union all select '','Q' union all
      select '','R' union all select '','S' union all
      select '','T' union all select '','W' union all
      select '','X' union all select '','Y' union all
      select '','Z'
      select @strlen=len(@str),@re=''
      while @strlen>0
      begin
        select top 1 @re=letter+@re,@strlen=@strlen-1
          from @t a where chr<=substring(@str,@strlen,1)
          order by chr desc
        if @@rowcount=0
          select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
      end
      return(@re)
    end
    go
    
    update BY_CustomerContacter Set Initials=upper(substring(dbo.f_GetPy(ContacterName), 1, 1))
    update BY_SupplierContacter Set Initials=upper(substring(dbo.f_GetPy(ContacterName), 1, 1))
    
    drop function dbo.f_GetPy
    
    select Initials,ContacterName,Id from BY_CustomerContacter order by Initials asc
    select Initials,ContacterName,Id from BY_SupplierContacter order by Initials asc
  • 相关阅读:
    spring cloud eureka 配置
    nginx 无法访问root权限的文件内容
    Linux 如何将一个文件夹的所有内容授权给某一个用户
    eclipse 注释字体不一致的问题
    java web 跨域
    tomcat的catalina.out日志文件过大
    linux 安装禅道
    修改rabbitmq Web UI 监控页面的端口
    nginx访问静态文件配置
    centos 安装单机版 redis4.0.10
  • 原文地址:https://www.cnblogs.com/deep-blue/p/5110051.html
Copyright © 2020-2023  润新知