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中文字符也适用的很好

SQL函数translate与replace的区别-LMLPHP

但要注意的是,如果String,match_char,replace_char有一方为空,则结果也为空

SQL函数translate与replace的区别-LMLPHP

replace则不然

SQL函数translate与replace的区别-LMLPHP

replace中replace_string如果为空还可以简写,translate要这么写就会报错

SQL函数translate与replace的区别-LMLPHP

所以当目标字符串中有多个不同的字符需要被替换时,使用translate就是很好的选择.

03-06 20:16