Получить разницу между двумя датами как в месяцах, так и в днях в sql

Мне нужно получить разницу между двумя датами, скажем, если разница составляет 84 дня, мне, вероятно, следует вывести как 2 месяца и 14 дней, код, который у меня есть, просто дает итоги. Вот код

SELECT Months_between(To_date('20120325', 'YYYYMMDD'),
       To_date('20120101', 'YYYYMMDD'))
       num_months,
       ( To_date('20120325', 'YYYYMMDD') - To_date('20120101', 'YYYYMMDD') )
       diff_in_days
FROM   dual; 

Выход:

NUM_MONTHS    DIFF_IN_DAYS
2.774193548       84

Например, мне нужно, чтобы вывод для этого запроса был либо 2 месяца, либо 14 дней в худшем случае, иначе я не буду возражать, если у меня будут точные дни после числа месяцев, потому что эти дни на самом деле не 14, потому что все месяцы не имеют 30 дней.

14
задан APC 15 August 2013 в 01:25
поделиться