怎么把某字段单词的首字母改为大写其它小写?

2024-03-14 00:38

本文主要是介绍怎么把某字段单词的首字母改为大写其它小写?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要改某字段的内容,要求改为大写的情况:
1、字段首字母
2、空格后的首字母
3、“-”后的首字母
其它都改为小写。

 

例如有表
id    name
1    aBC EFG
2    hij-klm
3    NOPQ

我需要的结果:
id    name
1    Abc Efg
2    Hij-Klm
3    Nopq

---------------------------------
--
  Author: liangCK 小梁
--
-------------------------------

--> 生成测试数据: @T
DECLARE @T TABLE (id INT,name VARCHAR(50))
INSERT INTO @T
SELECT 1,'aBC EFG' UNION ALL
SELECT 2,'hij-klm' UNION ALL
SELECT 3,'NOPQ'

--SQL查询如下:

;
WITH Liang AS
(
  
SELECT
        M.id,
       
SUBSTRING(M.name,N.number,1) AS s,
       
number
  
FROM @T AS M
       
JOIN master.dbo.spt_values AS N
           
ON number BETWEEN 1 AND LEN(M.name)
              
AND N.type='p'
)
UPDATE A SET
     name
=B.string.value('.','VARCHAR(max)')
FROM @T AS A
  
CROSS APPLY (
      
SELECT string=(
                 
SELECT
                     
CASE WHEN number=1 OR
                           (
SELECT s
                           
FROM Liang
                           
WHERE id=T.idAND number=T.number-1) IN(' ','-')
                            
THEN UPPER(s)
                         
ELSE LOWER(s) END
                
FROM Liang AS T
                
WHERE id=A.id
                
FOR XML PATH(''),TYPE
              )
   )
AS B

SELECT * FROM @t

/*
id          name
----------- --------------------------------------------------
1           Abc Efg
2           Hij-Klm
3           Nopq

(3 行受影响)
*/

 

 

 

------------------------------------------------------------------------
--
Author:  happyflystone 
--
Date  :  2009-03-16 10:35:16
--
Ver:     Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)
--
          Apr 14 2006 01:12:25
--
          Copyright (c) 1988-2005 Microsoft Corporation
--
          Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
--
     
--
----------------------------------------------------------------------

-- Test Data: ta
IF OBJECT_ID('ta') IS NOT NULL
   
DROP TABLE ta
Go
CREATE TABLE ta(id INT,name NVARCHAR(7))
Go
INSERT INTO ta
SELECT 1,'aBC' UNION ALL
SELECT 2,'hij-klm' UNION ALL
SELECT 3,'NOPQ'
GO
--Start
create function f_s(@s nvarchar(20))
returns varchar(20)
as
begin
   
set @s  = lower(@s)
   
declare @I int
   
set @I = 1
   
while right(left(@s,@i),1) in (' ','-')
       
set @I = @I + 1
   
return left(@s,@I -1) + char(ascii(substring(@s,@i,1))- 32)+ right(@s,len(@s) -@i)
end
go
SELECT
   
*,dbo.f_s(name)
FROM
    TA
drop function f_s


--Result:
/*

id          name   
----------- ------- --------------------
1           aBC     Abc
2           hij-klm Hij-klm
3           NOPQ    Nopq


*/
--End

这篇关于怎么把某字段单词的首字母改为大写其它小写?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806727

相关文章

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件