ORA-00936: 缺少表达式解决方案 - 转换函数
ORA-00936: missing expression Solution- Convert function
在 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) )
它一直给我一个错误
如果这确实是 Oracle,那么 dateadd
和 getdate
就不是 Oracle 函数。看起来像 MS SQL 服务器的。此外,table
是 tables 的保留字,您不能命名 table(或任何其他对象) table.
无论如何:看起来这就是您要找的东西:
SELECT FECHADOC, FECHACONT, CLASEDOC, SOCIEDAD, MONEDA,
TIPOCAMBIO, PERIODO, REFERENCIA,
TEXTOCAB, ID_REGISTRO
FROM ESQUEMA.TABLE
where to_date('20211231', 'yyyymmdd') <= trunc(sysdate) - 90;
在 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) )
它一直给我一个错误
如果这确实是 Oracle,那么 dateadd
和 getdate
就不是 Oracle 函数。看起来像 MS SQL 服务器的。此外,table
是 tables 的保留字,您不能命名 table(或任何其他对象) table.
无论如何:看起来这就是您要找的东西:
SELECT FECHADOC, FECHACONT, CLASEDOC, SOCIEDAD, MONEDA,
TIPOCAMBIO, PERIODO, REFERENCIA,
TEXTOCAB, ID_REGISTRO
FROM ESQUEMA.TABLE
where to_date('20211231', 'yyyymmdd') <= trunc(sysdate) - 90;