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() 函数是一个非常有用的函数,可以方便地在字符串中删除和替换指定的字符。使用该函数可以轻松地完成许多文本处理任务。