SQL Server STUFF() 函数使用指南
SqlServer 中的 STUFF()
函数用于在指定的字符串中删除指定长度的字符,并在删除的位置插入新的字符。
语法
STUFF ( character_expression , start , length , replaceWith_expression )
character_expression
: 必需。要进行更改的字符串或表达式。start
: 必需。要删除字符的位置,以 1 为起始值。length
: 必需。要删除的字符的长度。replaceWith_expression
: 必需。要插入的新字符或表达式。
使用场景
STUFF()
函数通常用于替换或删除字符串中的指定字符。例如,当需要删除字符串中的一些字符并将其替换为其他字符时,就可以使用此函数。
示例
示例 1
假设有以下表格:
Id | Name |
---|---|
1 | John Smith |
2 | Alice Green |
现在想将名字中的 “Smith” 替换为 “Doe”,可以使用以下代码:
UPDATE table
SET Name = STUFF(Name, CHARINDEX('Smith', Name), 5, 'Doe')
WHERE Id = 1;
执行以上代码后,表格将变为:
Id | Name |
---|---|
1 | John Doe |
2 | Alice Green |
示例 2
假设有以下表格:
Id | Name |
---|---|
1 | John Smith |
2 | Alice Green |
现在想删除名字中的 “Smith”,可以使用以下代码:
UPDATE table
SET Name = STUFF(Name, CHARINDEX('Smith', Name), 5, '')
WHERE Id = 1;
执行以上代码后,表格将变为:
Id | Name |
---|---|
1 | John |
2 | Alice Green |
结论
STUFF()
函数是一个非常有用的函数,可以方便地在字符串中删除和替换指定的字符。使用该函数可以轻松地完成许多文本处理任务。