我有一个带有注释字段的表,我想将每个记录中字符串的首字母大写,例如将“ duplicate”更改为“ Duplicate”。有些记录开始时已经有大写字母,有些甚至可能是数字。
我试过了
SELECT UPPER(LEFT(Comments,1))+SUBSTRING(Comments,2,LEN(Comments)) FROM dbo.Template_Survey
但是失败了,因为我的字段是’ntext’类型的。
在句号(句号)后能够大写第一个字母也将很有用,但这不是必不可少的,除非有人已经编写了代码。
提前致谢。
将您的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)))));