我努力了
select regexp_substr ('sys: error: This is a message ''123:'' for column EMP_NB', '[[:alpha:]_]+',1,9) from dual
我的列充满了此类数据。
sys: error: This is a message '123:' for column EMP_NB.
sys: error: This is a message '45346:' for column EM_NM.
sys: error: This is a message '78324f9:' for column DEPT_NO_VL.
我需要在 Oracle SQL 中使用 regexp_substr 得到如下所示的输出。挑战是字符串的长度往往会改变,我只需要提取后面的字符column
字符串中的单词。
预期产出:
EMP_NB
EM_NM
DEPT_NO_VL
您可以使用
select regexp_substr ('sys: error: This is a message ''123:'' for column EMP_NB', 'column[[:space:]]*([[:alpha:]_]+)', 1, 1, NULL, 1) from dual
Here,
-
column
- 火柴column
word
-
[[:space:]]*
- 0 个或多个空白字符
-
([[:alpha:]_]+)
- 将任意一个或多个字母或下划线捕获到第 1 组中。
仅返回捕获的值,因为最后一个组 ID 参数设置为1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)