我想使用Oracle 11g的简单查询替换字符串中的多个char。现在我用:
select regexp_replace(regexp_replace(regexp_replace(colName, 'a', 'x'), 'b', 'y' ) 'c', 'z') from myTable;
但我对此并不满意。什么是具有相同输出的更直观的查询?
答案 0 :(得分:1)
translate()在第一个参数中搜索第二个参数中字符的字符串,并将它们替换为第三个参数中与第二个参数中位于相同位置的字符:
SQL> select translate('abc', 'abc', 'xyz')
from dual;
TRA
---
xyz
SQL> select translate('tralalajustbecause','abc','xyz') from dual;
TRA
---
trxlxlxjustyezxuse
答案 1 :(得分:1)
translate函数将完成您想要的操作:
select translate(colName, 'abc', 'xyz') from myTable;