SQL Server (Transact-SQL) REPLACE() 函数将字符串中所有出现的指定子字符串替换为新的子字符串。
语法
REPLACE(string, from_substring, to_substring)
参数
string | 必需。 指定源字符串。 |
from_substring | 必填。 指定要替换的子字符串。 string 中出现的所有 from_substring 都将替换为 to_substring。 |
to_substring | 必需。 指定替换子字符串。 string 中出现的所有 from_substring 都将替换为 to_substring。 |
返回值
返回带有替换值的字符串。
示例 1:
下面的示例显示了 REPLACE() 的用法 函数。
SELECT REPLACE('SQL Tutorial', 'SQL', 'HTML');
Result: 'HTML Tutorial'
SELECT REPLACE('SQL Tutorial', 'sql', 'HTML');
Result: 'HTML Tutorial'
SELECT REPLACE('xyz xyz', 'xyz', 'abc');
Result: 'abc abc'
SELECT REPLACE('xyz xyz', 'XYZ', 'abc');
Result: 'abc abc'
SELECT REPLACE('100', '0', '5');
Result: '155'
SELECT REPLACE(100, 0, 5);
Result: '155'
示例 2:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | Name | City |
---|---|---|
AXZ1 | John | London |
AXZ2 | Marry | New York |
AXZ3 | Jo | Paris |
AXZ4 | Kim | Amsterdam |
AXZ5 | Ramesh | New Delhi |
AXZ6 | Huang | Beijing |
在下面的查询中,REPLACE() 函数用于通过将 的所有记录中的"AXZ"替换为"XAY"来创建名为 NewEmpID 的新列EmpID 列值。
SELECT *, REPLACE(EmpID, 'AXZ', 'XAY') AS NewEmpID FROM Employee;
这将产生如下所示的结果:
EmpID | Name | City | NewEmpID |
---|---|---|---|
AXZ1 | John | London | XAY1 |
AXZ2 | Marry | New York | XAY2 |
AXZ3 | Jo | Paris | XAY3 |
AXZ4 | Kim | Amsterdam | XAY4 |
AXZ5 | Ramesh | New Delhi | XAY5 |
AXZ6 | Huang | Beijing | XAY6 |