Oracle 中提供了三个替换函数:REPLACE、TRANSLATE 和 REGEXP_REPLACE。REPLACE 函数替换特定子字符串,TRANSLATE 函数替换一组字符,而 REGEXP_REPLACE 函数使用正则表达式进行子字符串替换。
Oracle 中替换函数的使用方法
Oracle 提供了几个替换函数,用于替换字符串中的特定子字符串。这些函数对于数据清理和操纵任务非常有用。
REPLACE 函数
REPLACE 函数将字符串中的特定子字符串替换为另一个子字符串。语法如下:
REPLACE(string, old_string, new_string)
其中:
-
string包含要替换子字符串的字符串。 -
old_string是要替换的子字符串。 -
new_string是替换old_string的新子字符串。
示例:
SELECT REPLACE('John Smith', 'Smith', 'Doe') FROM dual;结果:
John Doe
TRANSLATE 函数
TRANSLATE 函数替换字符串中的一组字符为另一组字符。语法
如下:
TRANSLATE(string, old_chars, new_chars)
其中:
-
string包含要翻译的字符的字符串。 -
old_chars是要替换的字符集。 -
new_chars是替换old_chars的新字符集。
示例:
SELECT TRANSLATE('ABCDEFG', 'ABD', 'xyz') FROM dual;结果:
xyzCDEFG
REGEXP_REPLACE 函数
REGEXP_REPLACE 函数使用正则表达式替换字符串中的子字符串。语法如下:
REGEXP_REPLACE(string, pattern, replacement)
其中:
-
string包含要替换子字符串的字符串。 -
pattern是要匹配的正则表达式。 -
replacement是替换匹配子字符串的新子字符串。
示例:
SELECT REGEXP_REPLACE('123-456-7890', '[0-9]', 'X') FROM dual;结果:
XXX-XXX-XXXX








