Oracle SQL Regex不匹配的逗号

时间:2014-03-03 16:02:49

标签: sql regex oracle

我们已经定义了一个语法,并在我们的数据库中存储了遵循这个语法的表达式字符串。我们的表达式中有一个可能的术语是IIF(条件,然后,否则)。我需要在表达式表中查询在IIF条件下包含“+”的所有表达式。

我正在尝试使用下面的语句搜索条件,其中包含任意数量的非逗号字符,后跟一个“+”,后跟任意数量的非逗号字符,后跟逗号。我哪里错了?

select * from ... and value like '%IIF([^\,]*\+[^\,]*\,%';

1 个答案:

答案 0 :(得分:2)

使用REGEXP_LIKE可以用于此类查询。 REGEXP_LIKE函数将在where子句中调用,函数调用的参数将如下所示:

WHERE REGEXP_LIKE (column_xyz, '.*IFF\([^,]*\+[^,]*,')