如何解决在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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。