I want to do a datediff between two columns as explain in the example:
date 1 date 2
date 1.1 date 2.1
date 1.2 date 2.2
date 1.3 date 2.3
date 1.4 date 2.4
I want to do datediff (date 2.1,date 1.2), datediff (date 2.2,date 1.3)? datediff (date 2.3,date 1.4) ...
Doing the difference between the current of date 2 et the next of date 1.
Any help please?
You can use lag()
or lead()
. . . it is hard to tell which direction. But something like this:
select t.*,
datediff(day,
lag(end_date) over (order by start_date),
start_date
) as dates_between
from t;