【发布时间】:2021-12-19 17:48:02
【问题描述】:
在 oracle 中执行此查询时出现错误
ORA-00936: missing expression
00936. 00000 - "missing expression"
如果我运行查询到它给我的结果,那么我推断问题来自哪里,但是,我无法确定它是什么
SELECT FECHADOC, FECHACONT, CLASEDOC, SOCIEDAD, MONEDA, TIPOCAMBIO, PERIODO,
REFERENCIA, TEXTOCAB, ID_REGISTRO
FROM ESQUEMA.TABLE
WHERE CONVERT(CHAR(8),20211231,112) <= CONVERT(CHAR(8),DATEADD(DAY,-90,GETDATE()),112)
我已经用过:
WHERE CONVERT( TO_CHAR(8),20201231,112) <=
(CONVERT(TO_CHAR(8),DATEADD(DAY,-90,GETDATE()),112) )
它总是给我一个错误
【问题讨论】:
-
这些是您为问题输入的静态值吗?你真的是把静态值20201231和Today-90比较,还是这里有表格列?
-
convert(带有该参数列表)、dateadd和getdate不是内置的 Oracle 函数。您似乎正在使用 SQL Server 或其他一些非 Oracle 数据库中的函数。我猜你没有在本地定义这些函数,因此问题。 -
20201231 和 -90 是使用该值解析的参数
标签: oracle expression where-clause converters