我在Oracle表中有一列日期
date_column
-----------
12/02/2016
05/02/2016
25/01/2016
08/01/2016
18/12/2015
...
我想知道是否有一种方法可以在另一列中计算每两个连续日期的天数。例如,12/02/2016
和05/02/2016
之间的天数,05/02/2016
和25/01/2016
之间的天数等等。
答案 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
中返回天数