SQL Server 函数

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 的数据库表,其中包含以下记录:

EmpIDNameCity
AXZ1JohnLondon
AXZ2MarryNew York
AXZ3JoParis
AXZ4KimAmsterdam
AXZ5RameshNew Delhi
AXZ6HuangBeijing

在下面的查询中,REPLACE() 函数用于通过将 的所有记录中的"AXZ"替换为"XAY"来创建名为 NewEmpID 的新列EmpID 列值。

SELECT *, REPLACE(EmpID, 'AXZ', 'XAY') AS NewEmpID FROM Employee; 

这将产生如下所示的结果:

EmpIDNameCityNewEmpID
AXZ1JohnLondonXAY1
AXZ2MarryNew YorkXAY2
AXZ3JoParisXAY3
AXZ4KimAmsterdamXAY4
AXZ5RameshNew DelhiXAY5
AXZ6HuangBeijingXAY6