【发布时间】:2019-11-20 21:43:50
【问题描述】:
我在名为 Line 的列中将字符 '?*' 重复一到三遍。我需要删除这些字符。我如何使用Replace 或REGEXP_REPLACE 来做到这一点?
SELECT
Line, REGEXP_REPLACE(LINE,'[?*]','')--([^\+]+)
FROM
TABLE
WHERE
INSTR(LINE,'?*') != 0;
在哪里
REGEXP_REPLACE(LINE,'\?*','') 单独替换了?,而* 保持不变。
REGEXP_REPLACE(LINE,'?*','') 替换 nothing。
REGEXP_REPLACE(LINE,'[?*]','') 替换所有?s 和所有*s。我只在? 和* 组合为?* 时替换。
【问题讨论】:
-
样本数据(和所需的输出)可能会对我们有所帮助。
标签: sql regex oracle regexp-replace