我正在尝试在我的oracle SQL查询中使用Regexp_like
函数,但无论我正在尝试什么,我都会收到“ORA-00920:无效的关系运算符”错误。我尝试过应该使用的样本中的regexp_like参数,并且只是更改了引用的字段,但仍然失败了。版本是:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
但是我怀疑设置了一些兼容级别,因此不支持regexp_like函数。我怎么检查这个?
答案 0 :(得分:6)
正如我在评论中所说,regexp_like
是一个不是函数的条件,因此您无法将其与字段进行比较。你应该这样做:
SELECT *
FROM GLOBALDB.CUSTOMERS C
WHERE REGEXP_LIKE(C.SHORT_NAME,'^CHRH$');
这就是shown in the documentation。
当然,既然你要比较整个领域,在这种情况下你也可以这样做:
WHERE C.SHORT_NAME = 'CHRH';