如何检查oracle数据库是否与REGEXP_LIKE兼容?

时间:2013-08-01 10:13:25

标签: oracle oracle11g

我正在尝试在我的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函数。我怎么检查这个?

1 个答案:

答案 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';