【问题标题】:Replace All Occurrences using Oracle SQL regexp_replace Case-insensitive使用 Oracle SQL regexp_replace 替换所有出现 不区分大小写
【发布时间】:2016-09-22 07:56:30
【问题描述】:

我想替换所有出现的不区分大小写的字符串

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

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

如何编写一个查询来替换所有出现的事件,而不考虑字母大小写。我试过了,但没有用:

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

谢谢

【问题讨论】:

    标签: sql regex oracle oracle-sqldeveloper


    【解决方案1】:

    使用 '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

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2010-10-29
      • 1970-01-01
      • 2018-04-19
      • 2018-01-06
      • 2014-02-16
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      相关资源
      最近更新 更多