开发者社区> 问答> 正文

怎么用SQL将用户的英文名首字母转为大写?

怎么用SQL将用户的英文名首字母转为大写?

展开
收起
5abyqn7wigzqm 2021-10-16 22:44:41 3068 0
2 条回答
写回答
取消 提交回答
  • 可以使用initcap()函数将首字母转为大写,如:select INITCAP('abcd') from dual;也可以使用截取替换的方式实现

    2021-10-16 23:30:40
    赞同 展开评论 打赏
  • /*
     version: 1.0
     createdtime: 2007-01-08
     creator: 走过四季
     memo: for my lover[hjm]
     举列:将用户表〔tbluser〕中〔username〕字段的每个单词首字母大写:
     update tbluser set username=dbo.f_Trans(username)
     
    提示:如需使用,请保留以上说明
    
     */ 
    create   function   f_Trans(@col   varchar(2000))   
    returns   varchar(2000)   
    as   
    begin
        set @col=replace(@col,'  ',' ')
        set @col=replace(@col,',','**,')
        set @col=replace(@col,' ',',')
        
        declare @sql varchar(2000)   
        set   @sql=''
        while charindex(',',@col)>0
            select @sql=@sql+upper(left(@col,1))+LOWER(replace(substring(@col,2,charindex(',',@col)-1),',',' ')),
            @col=substring(@col,charindex(',',@col)+1,len(@col)-charindex(',',@col))    
        set   @sql=@sql+upper(left(@col,1)) + replace(LOWER(right(@col,len(@col)-1)),',',' ')
        set @sql=replace(@sql,'** ',',')
        set @sql=replace(@sql,',,',', ')
        return(@sql)
    end
    
    go
    
    2021-10-16 23:16:42
    赞同 1 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载