Получить количество дней между двумя датами в Oracle, включая даты

Я хочу получить общее количество дней между двумя указанными датами. Я пробовал приведенный ниже запрос, но не получил точного отличия; последняя дата не включается.

select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy')) 
  from dual

Это должно вернуть 501 дней, но вместо этого он возвращает 500 дней. Если я добавлю +1 после расчета, то я получу правильный результат.

Мне действительно нужно включить +1 или есть альтернативный подход для получения фактического результата?

1 ответов


в Oracle substracting two dates возвращает количество дней между двумя датами.
А minus оператор работает так же, как и для чисел:

20 - 20 = 0   ===>      2013-05-20  -  2013-05-20 = 0
25 - 20 = 5   ===>      2013-05-25  -  2013-05-20 = 5

если вы хотите включить last number или last date, вам нужно добавить 1:

20 - 20 + 1 = 1   ===>      2013-05-20  -  2013-05-20  + 1 = 1
25 - 20 + 1 = 6   ===>      2013-05-25  -  2013-05-20  + 1 = 6