【发布时间】:2023-04-08 10:24:02
【问题描述】:
我有一列包含许多行。每行有大约 3 个单词的值。我想将该值的第一个字母更改为大写。只有第一个字母,例如 abc def ghi 变成 Abc def ghi。请帮我。谢谢!!
【问题讨论】:
标签: sql-server uppercase
我有一列包含许多行。每行有大约 3 个单词的值。我想将该值的第一个字母更改为大写。只有第一个字母,例如 abc def ghi 变成 Abc def ghi。请帮我。谢谢!!
【问题讨论】:
标签: sql-server uppercase
由于您只需要大写字母中的第一个字符,您可以像这样使用STUFF 和UPPER 和LEFT
DECLARE @val VARCHAR(100) = 'abc def ghi'
SELECT STUFF(@Val,1,1,UPPER(LEFT(@Val,1)))
输出
Abc def ghi
注意:如果字符串开头有空格,请在其他操作之前使用LTRIM
【讨论】:
完成! 谢谢大家
UPDATE table SET column= CONCAT(upper(LEFT(column, 1)),
SUBSTRING(column, 2,100));
【讨论】:
您可以在下面使用LEFT 和RIGHT:
DECLARE @val VARCHAR(100) = 'abc def ghi'
SELECT UPPER(LEFT(@val,1)) + RIGHT(@val, LEN(@val) -1)
【讨论】:
你可以试试这个:
DECLARE @val VARCHAR(100) = 'abc def'
SELECT UPPER(LEFT(@val,1)) + SUBSTRING(@val,2,LEN(@val))
【讨论】:
这也有效
DECLARE @val VARCHAR(20) = 'abc def ghi'
SELECT UPPER(SUBSTRING(@val,1,1))+SUBSTRING(@val,2,LEN(@val)-1)
【讨论】: