0

对甲骨文来说非常新。

我正在使用朋友的一些代码,但它产生了上述错误。

select count(REFERENCE_#)
from ARADMIN.ALL_REQUESTS
where (DATE_OCCURRED >= add_months(sysdate, -12) )
and ({FN LOCATE('INFO-MGMT-SRVCS.R3', "ALL_REQUESTS"."TRACE_LOG")} > 0)

我四处搜索,大多数点击都与日期有关,所以我的新手假设是 Oracle 正在尝试将字符串文字转换'INFO-MGMT-SRVCS.R3'为日期。

这个对吗?

如果是这样,我如何告诉它这实际上是一个字符串并且应该保持原样?

如果我不正确,为什么会出现此错误?

谢谢

编辑:

我刚试过

select count(REFERENCE_#)
from ARADMIN.ALL_REQUESTS
where (DATE_OCCURRED >= add_months(sysdate, -12) )
and ({FN LOCATE('foo', "ALL_REQUESTS"."TRACE_LOG")} > 0)

它给了我同样的错误,所以我的假设是错误的。

编辑 2: 这似乎与我的第一个 where 子句有关(DATE_OCCURRED >= add_months(sysdate, -12) )。我认为这与我的第二个有关,因为错误消息报告的行号。

最终编辑:

工作代码:

select count(REFERENCE_#)
from ARADMIN.ALL_REQUESTS
where (to_date(DATE_OCCURRED, 'YYYY-MM-DD HH24:MI:SS') >= add_months(sysdate, -12) )
and ({FN LOCATE('INFO-MGMT-SRVCS.R3', "ALL_REQUESTS"."TRACE_LOG")} > 0)

故事的道德启示

不要相信错误消息中的行号。

4

0 回答 0