两个日期之间的天数 - ANSI SQL

Dav*_*ght 5 sql date ansi-sql date-arithmetic

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

答案必须是ANSI SQL.

Mon*_*son 6

ANSI SQL-92将DATE - DATE定义为返回INTERVAL类型.您应该能够使用与从DATE中提取它们相同的方法从INTERVALS中提取标量 - 使用足够恰当的EXTRACT函数(4.5.3).

<extract expression>在日期时间或间隔上运行,并返回表示日期时间或间隔的一个组件的值的精确数值.

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

这是"真实"的做法.

SELECT EXTRACT(DAY FROM DATE '2009-01-01' - DATE '2009-05-05') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

祝好运!