Oracle SQL - 如何找出两个日期变量之间的差异

Oracle SQL - How to find the difference between two date variables

我试图找出订单日期和发货日期之间的最长时间段。我了解获取它的方法,但我不确定。我为此使用 JustLee 图书订单数据库 这是我的代码

SELECT o.ORDER#, o.ORDERDATE, o.SHIPDATE, o.SHIPCITY, o.SHIPSTATE
FROM ORDERS o;
WHERE (SELECT

我本想为您提供更好的查询结果,但我无法确定日期。任何帮助都是好的帮助。为你加油

要找出两个 DATE 数据类型值之间的差异,只需从另一个中减去一个。

SELECT ORDER#,
       ORDERDATE,
       SHIPDATE,
       SHIPCITY,
       SHIPSTATE,
       SHIPDATE - ORDERDATE AS days_between_ship_and_order
FROM   ORDERS;

如果你想找到最大值,那么从 Oracle 12 开始,你可以按差异的降序排列结果,并使用 FETCH FIRST ROW WITH TIES 行只找到最大的差异。

SELECT ORDER#,
       ORDERDATE,
       SHIPDATE,
       SHIPCITY,
       SHIPSTATE,
       SHIPDATE - ORDERDATE AS days_between_ship_and_order
FROM   ORDERS
ORDER BY days_between_ship_and_order DESC
FETCH FIRST ROW WITH TIES ONLY;