我需要一种方法来确定 SQL 中两个日期之间的天数。

答案必须是 ANSI SQL。

有帮助吗?

解决方案

ANSI SQL-92将DATE - DATE定义为返回INTERVAL类型。您应该能够使用与使用<!>#8211从DATE中提取它们相同的方法从INTERVALS中提取标量;足够的<!>#8211;提取功能(4.5.3)。

  

<!> lt; extract expression <!> gt;继续经营   日期时间或间隔并返回   表示的精确数值   日期时间的一个组成部分的价值   或间隔。

但是,这在大多数数据库中实施得很差。您可能会使用某些特定于数据库的东西。 DATEDIFF在不同平台上实现得非常好。

这是<!>“真实的<!>”;这样做的方式。

SELECT EXTRACT(DAY FROM DATE '2009-01-01' - DATE '2009-05-05') FROM DUAL;
祝你好运!

scroll top