0

在其中一个表中,我有存储错误消息的列描述。错误消息可以是以下任何格式。

a.failed due to warnings.ERR: [] | WARNINGS: [war1,war2] | Warn_fina [war1,war2]  | otherErrors []
b.failed due to Errors.ERR: [Err1,Err2] | warnings: [war1,war2] | warn_fina [] | otherErrors []
c.Reading failed stacktrace bla bla.
d.othererror stacktrace bla bla.

现在我需要编写一个选择查询来选择所有列,但是对于这个描述列输出,我需要如下所示

如果它是 a 或 b 类型,则输出为: Err1,Err2,War1,War2 仅括号中前两个内容中的错误和警告。如果它不是 a 或 b,那么此列不应出现任何内容。

我认为从 oracle Reg 表达式来看是有帮助的。

我们可以通过一个选择查询来实现上述条件吗?基本上我只需要获取括号中的错误代码和警告代码。表示字符串中的两个子组。

4

1 回答 1

0

使用 regexp_replace 和 regexp_substr 函数我只能得到错误和警告。

我还需要一件事,我们可以从表中编写 select *,regexp_replace() 吗?

于 2013-05-16T04:55:07.360 回答