SQL函式translate與replace的區別
阿新 • • 發佈:2019-03-07
SQL函式replace返回一個被所給的字串匹配替換後的新的字串.
語法:
REPLACE(string, match_string, replace_string)
引數:
- String:原始字串,也就是需要被替換的目標字串
- match_string:在目標字串中需要被替換的內容
- replace_string:需要被替換成的結果字串
例子:
SQL> SELECT REPLACE('Opal Kole','K','Smo') "REPLACE" FROM DUAL;
REPLACE
-----------
Opal Smoole
SQL函式translate返回一個被所給的字串逐個匹配替換後的新的字串
語法:
TRANSLATE(string, match_char, replace_char)
引數:
- String:原始字串,也就是需要被替換的目標字串
- match_char:在目標字串中需要被替換的內容
- replace_char:在目標字串中逐個對match_char中內容進行匹配並替換按match_char和replace_char一一對應的順序進替換成想要的內容
例子:
SQL> SELECT REPLACE('Opal Kole','K','D') "TRANSLATE" FROM DUAL;
TRANSLATE
---------
Opal Dole
其他特點:
translate中文字元也適用的很好
但要注意的是,如果String,match_char,replace_char有一方為空,則結果也為空
replace則不然
replace中replace_string如果為空還可以簡寫,translate要這麼寫就會報錯
所以當目標字串中有多個不同的字元需要被替換時,使用translate