[英]how to use the REGEXP_SUBSTR function to extract a substring from a string?
I need to extract the word and the sequence of words from the error log. 我需要从错误日志中提取单词和单词序列。
below log examples: 下面的日志示例:
2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] [Teradata DBMS] : No more spool space in aload50.
2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] [Teradata DBMS] : No more spool space in aload50. (ef)
2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] [Teradata DBMS] : No more spool space in dload50.
2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] [Teradata DBMS] : No more spool space in dload50. (ef)
message=[NCR] [Teradata DBMS] : No more spool space in aload50. (ef)
message=[NCR] [Teradata DBMS] : No more spool space in dload50. (ef)
message=[NCR] [Teradata DBMS] : No more spool space in aload50. (ee)
message=[NCR] [Teradata DBMS] : No more spool space in dload50. (ee)
I need to extract substring: 我需要提取子字符串:
error_log: error_log:
[Teradata DBMS] : No more spool space in aload50.
[Teradata DBMS]:aload50中没有更多的后台处理空间。
without (eg) 没有(例如)
and username: for example: 和用户名:例如:
aload50
aload50
username can be: 用户名可以是:
aload01 to aload999 aload01至aload999
and 和
dload01 to dload999 dload01至dload999
select
REGEXP_SUBSTR('2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] error_message[Teradata DBMS] : No more spool space in aload50.',' regexp_for_error_log') AS error_log,
REGEXP_SUBSTR('2019.06.08 14:32:36 ERR 10298587 2019-06-07 PROJECT_NAME script.sql 4483 2646 HY000 [NCR] [Teradata DBMS] : No more spool space in aload50.',' regexp_for_user_name') AS user_name,
FROM DUAL;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.