SQL Server Translate()函数

在本教程中,将学习如何使用SQL Server TRANSLATE()函数在一次操作中替换多个单字符,一对一转换。

SQL Server TRANSLATE()函数简介

TRANSLATE()函数返回一个字符串,其中第二个参数中指定的字符将替换为第三个参数中的匹配字符。

以下是TRANSLATE()函数的语法:

TRANSLATE(input_string, from_characters, to_characters);

在这个语法中:

  • input_string是要搜索的字符串。它可以是文字字符串,字符表达式或列。
  • from_characters是一个字符串表达式,其中包含应替换的字符。
  • to_characters是一个包含替换字符的字符串表达式。

如果from_charactersto_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函数