【发布时间】:2020-06-16 19:33:37
【问题描述】:
我收到此错误ORA-01858: a non-numeric character was found where a numeric was expected。如果我删除代码中的第二行,我不会收到错误消息,所以我想知道问题是否与 TIME_P 变量的 DECODE 或数据类型(即时间戳)有关。
TRUNC(TIME_P) >= TO_DATE('2009-01-01', 'YYYY-MM-DD') AND
TIME_P <= DECODE('2010-01-01', NOW, SYSDATE, TO_DATE('YYYY-MM-DD'))
【问题讨论】:
-
请说明您要实现的逻辑。比如
NOW是什么? -
现在应该返回当前日期
-
。 .
decode()的目的是什么?sysdate也是当前日期。 -
在您提供的代码中,您在第一个日期 '2009-01-01 之后缺少一个单引号......但我不相信你得到的错误是因为这个......正如您在此处看到的:dbfiddle.uk/… 如果现在只是一列,那么您的查询就可以了。所以......就像戈登问的那样,现在是什么?
-
你能解释一下第二行的逻辑吗? ——你想达到什么目标?
SYSDATE等价于NOW