• 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
  • 相关阅读:
    TCP_UCP通信原理及案例
    JavaScript高级笔记DOM与BOM
    JavaScript基本语法,基本对象,正则表达式
    JDBC连接池&JDBCTemplate&Sping JDBC
    JDBC,JDBCUtils,JDBC控制事务
    自动化工具ansible(0——准备部署工作)
    监控软件篇——prometheus+exporter组件+grafana
    命令工具篇
    sed 命令备忘
    ES6数据分组
  • 原文地址:https://www.cnblogs.com/deep-blue/p/5110051.html
Copyright © 2020-2023  润新知