0

我有这个查询:

select regexp_replace(regexp_substr('a_bcd_efg_hij','[^_]_[^_]+_[^_]+'),regexp_substr('a_bcd_efg_hij','[^_]',2,1),'W')
from dual;


a_Wcd_efg

但是当我尝试使用它重写它时,'||chr(39)||'我收到一些括号丢失的错误。

select regexp_replace(regexp_substr('||chr(39)||'a_bcd_efg_hij'||chr(39)||','||chr(39)||'[^_]_[^_]+_[^_]+'||chr(39)||'),regexp_substr('||chr(39)||'a_bcd_efg_hij'||chr(39)||','||chr(39)||'[^_]'||chr(39)||',2,1),'||chr(39)||'W'||chr(39)||')
from dual;

这个查询的输出应该是:a_Wcd_efg 你能指出什么是错的吗?

4

0 回答 0