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函數