列中每个日期之间的天数

时间:2016-02-19 10:38:27

标签: sql oracle

我在Oracle表中有一列日期

date_column
-----------
12/02/2016
05/02/2016
25/01/2016
08/01/2016
18/12/2015
...

我想知道是否有一种方法可以在另一列中计算每两个连续日期的天数。例如,12/02/201605/02/2016之间的天数,05/02/201625/01/2016之间的天数等等。

1 个答案:

答案 0 :(得分:3)

这可以使用窗口函数来完成:

select date_column, 
       lag(date_column) over (order by date_column) - date_column as days
from the_table
order by date_column;

lag()根据order by部分中定义的排序顺序返回上一行中列的值。

在Oracle date - date中返回天数