在本教學中,將學習如何使用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函數