小编典典

如何在SQL中将记录的首字母大写

sql

我有一个带有注释字段的表,我想将每个记录中字符串的首字母大写,例如将“ duplicate”更改为“
Duplicate”。有些记录开始时已经有大写字母,有些甚至可能是数字。

我试过了

SELECT UPPER(LEFT(Comments,1))+SUBSTRING(Comments,2,LEN(Comments)) FROM dbo.Template_Survey

但是失败了,因为我的字段是’ntext’类型的。

在句号(句号)后能够大写第一个字母也将很有用,但这不是必不可少的,除非有人已经编写了代码。

提前致谢。


阅读 204

收藏
2021-04-14

共1个答案

小编典典

将您的ntext强制转换为nvarchar(max)并进行上下操作。下面的示例。

SELECT UPPER(LEFT(cast(Comments as nvarchar(max)),1)) +
LOWER(SUBSTRING(cast(Comments as nvarchar(max)),2,
LEN(cast(Comments as nvarchar(max)))))  
FROM dbo.Template_Survey;

以下应该适用于更新。

Update dbo.Template_Survey SET Comments = 
UPPER(LEFT(cast(Comments as nvarchar(max)),1)) +
LOWER(SUBSTRING(cast(Comments as nvarchar(max)),2,
LEN(cast(Comments as nvarchar(max)))));
2021-04-14