我们已经定义了一个语法,并在我们的数据库中存储了遵循这个语法的表达式字符串。我们的表达式中有一个可能的术语是IIF(条件,然后,否则)。我需要在表达式表中查询在IIF条件下包含“+”的所有表达式。
我正在尝试使用下面的语句搜索条件,其中包含任意数量的非逗号字符,后跟一个“+”,后跟任意数量的非逗号字符,后跟逗号。我哪里错了?
select * from ... and value like '%IIF([^\,]*\+[^\,]*\,%';
答案 0 :(得分:2)
使用REGEXP_LIKE可以用于此类查询。 REGEXP_LIKE函数将在where子句中调用,函数调用的参数将如下所示:
WHERE REGEXP_LIKE (column_xyz, '.*IFF\([^,]*\+[^,]*,')