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