在Oracle中使用双表作为子查询的Select语句生成“找不到From关键字”错误

问题描述

使用双表中的select语句作为子查询执行以下查询时,出现以下错误消息:

错误:ORA-00923:在预期位置找不到FROM关键字

查询1:

select a.dt_1,a.dt_2,a.dt_1=a.dt_2 as "match_type" from
(select to_date(replace('2020-05-14 00:00:00',' 00:00:00',''),'yyyy/mm/dd') as "dt_1",to_date('14/05/2020','dd/mm/yyyy') as "dt_2" from dual) a

查询2:

select a.dt_1,a.dt_1=a.dt_2 as match_type from
(select to_date(replace('2020-05-14 00:00:00','yyyy/mm/dd') as dt_1,'dd/mm/yyyy') as dt_2 from dual) a

当我单独运行子查询时,它会按预期执行,但是当我运行整个语句时,它将生成错误。

感谢您的帮助。

解决方法

您的match_type列正在生成错误。 Oracle不支持关系运算符匹配。您可以在下面的查询中尝试-

SELECT a.dt_1,a.dt_2,CASE WHEN a.dt_1=a.dt_2 THEN 'TRUE' ELSE 'FLASE' END AS "match_type"
  FROM (SELECT TO_DATE(REPLACE('2020-05-14 00:00:00',' 00:00:00',''),'yyyy/mm/dd') as "dt_1",TO_DATE('14/05/2020','dd/mm/yyyy') as "dt_2"
          FROM DUAL) a;

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...