Select 使用双重 Table 作为 Oracle 中的子查询的语句生成 "From keyword not found" 错误
Select Statement Using Dual Table As A Sub Query In Oracle Generates "From keyword not found" Error
我在使用双重 table 中的 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_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
当我单独 运行 子查询时它会按预期执行,但是当我 运行 整个语句时它会产生错误。
感谢任何帮助。
您的 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;
我在使用双重 table 中的 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_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
当我单独 运行 子查询时它会按预期执行,但是当我 运行 整个语句时它会产生错误。
感谢任何帮助。
您的 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;