解析列以获得所需的输出

时间:2013-05-15 07:22:13

标签: sql sql-server

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

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.

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

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

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

我们只需一个选择查询即可达到上述标准吗? 基本上我只需要获取错误代码,括号中的警告代码。表示字符串中的两个子组。

1 个答案:

答案 0 :(得分:0)

我只能使用regexp_replace和regexp_substr函数获取错误和警告。

我还需要一个可以从表中编写select *,regexp_replace()的东西吗?