使用Oracle SQL regexp_replace替换所有事件不区分大小写

时间:2016-05-24 22:19:28

标签: sql regex oracle oracle-sqldeveloper

我希望为所有匹配项替换不区分大小写的字符串

给定的查询将所有吨替换为码。但是,它区分大小写。

SELECT regexp_replace(col_name, 'tons', 'yard') FROM DUAL;

如何在不考虑字母大小写的情况下编写替换所有匹配项的查询。我尝试了这个但是没有用:

SELECT regexp_replace(col_name, 'tons', 'yard', 'i') FROM DUAL;

由于

1 个答案:

答案 0 :(得分:7)

使用'i'选项是正确的,但您之前缺少两个参数。

REGEXP_REPLACE(<source_string>, <pattern>,<replace_string>, <position>, <occurrence>, <match_parameter>)

对于位置,使用1开始搜索。出现时,使用0代替每次出现。

SELECT regexp_replace(col_name, 'tons', 'yard', 1, 0, 'i') FROM DUAL;

Examples

Official documentation