在本教程中,将学习如何使用SQL Server TRANSLATE()
函数在一次操作中替换多个单字符,一对一转换。
SQL Server TRANSLATE()函数简介
TRANSLATE()
函数返回一个字符串,其中第二个参数中指定的字符将替换为第三个参数中的匹配字符。
以下是TRANSLATE()
函数的语法:
TRANSLATE(input_string, from_characters, to_characters);
在这个语法中:
input_string
是要搜索的字符串。它可以是文字字符串,字符表达式或列。from_characters
是一个字符串表达式,其中包含应替换的字符。to_characters
是一个包含替换字符的字符串表达式。
如果from_characters
和to_characters
的长度不同,则TRANSLATE()
函数将返回错误。
如果任何参数为NULL
,则TRANSLATE()
函数将返回NULL
。
SQL Server TRANSLATE()函数示例
以下示例使用TRANSLATE()
函数将方括号替换为括号:
SELECT
TRANSLATE('[408] 555 6789','[]','()') result;
执行上面查询,得到以下结果:
result
--------------
(408) 555 6789
该语句相当于两次调用REPLACE()
函数:
SELECT
REPLACE(REPLACE('[408] 555 6789','[','('),']',')') result;
TRANSLATE()与REPLACE()
TRANSLATE()
函数的行为类似于调用多个REPLACE()
函数。
但是,TRANSLATE()
函数不会用新的字符替换所有出现的字符。 这是TRANSLATE()
函数和调用多个REPLACE()
函数之间的区别,每个REPLACE()
函数调用都将替换所有相关字符。
在本教程中,学习了如何使用SQL Server TRANSLATE()
函数在一次操作中替换多个单字符,一对一的转换。
上一篇:
SQL Server字符串函数
下一篇:
SQL Server Window函数