oracle - ORA-00936: 缺少表达式解决方案 - 转换函数
问题描述
在 oracle 中执行此查询时出现错误
ORA-00936: missing expression
00936. 00000 - "missing expression"
如果我将查询运行到它的 from 它给了我结果,那么我推断问题来自哪里,但是,我无法确定它是什么
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 Server 的。此外,table
是表的保留字,您不能命名表(或任何其他对象)表。
无论如何:看起来这就是您可能正在寻找的:
SELECT FECHADOC, FECHACONT, CLASEDOC, SOCIEDAD, MONEDA,
TIPOCAMBIO, PERIODO, REFERENCIA,
TEXTOCAB, ID_REGISTRO
FROM ESQUEMA.TABLE
where to_date('20211231', 'yyyymmdd') <= trunc(sysdate) - 90;
推荐阅读
- flutter - 基于文本字段上的用户输入的颤振禁用和启用按钮
- wordpress - 如何优化我的 Wordpress、Elementor 和 WooCommerce 网站在 Litespeed 服务器上的速度?
- flutter - 如何更改 StatelessWidget 中的 FAB 图标
- java - 是否有可能使用 Jackson JsonParser 一次将单个事件信息存储在 JSONObject/JsonNode 中
- exception - Pyspark Delta Lake 捕获表不是 delta 表异常
- html - 我怎样才能旋转s 并保持对齐?
- api - reddit api 目前可以与 jsonp 一起使用吗?
- jenkins - Jenkinsfile 声明性管道 sh 命令不起作用
- bash - 在 bash 中,如何将此十六进制字符转换为可读字符?
- python - 尝试使用鼠标/导入时,出现递归错误/包操作失败