sql - 使用不区分大小写的Oracle SQL regexp_replace替换所有出现

标签 sql regex oracle oracle-sqldeveloper

我很乐意为所有情况替换不区分大小写的字符串

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

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

我如何编写一个查询来替换所有出现的字母大小写。我试过了,但是没有用:
SELECT regexp_replace(col_name, 'tons', 'yard', 'i') FROM DUAL;

谢谢

最佳答案

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

关于sql - 使用不区分大小写的Oracle SQL regexp_replace替换所有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37424820/

相关文章:

c# - C# 中的转换错误

SQL计数一列中的重复项,但重复项的条件不仅仅是一个固定值

javascript - 使用javascript根据白名单从字符串中删除字符

java - 升级到 JRE 1.7.0_13 后小程序类名称错误

oracle - PL/SQL 函数值的间隔精度

sql - 使用 GROUP BY 多列的查询

sql - 在 Go 中初始化和保留准备好的语句的推荐方法是什么?

Java正则表达式字符串匹配(like和not like)

java - 罗马数字的字符串替换

sql - 从物化 View DDL 中删除表空间信息