Obter a diferença entre duas datas, tanto em meses e dias em sql
Preciso ter a diferença entre as duas datas, digamos que se a diferença for de 84 dias, provavelmente deveria ter saída como 2 meses e 14 dias, o código que acabo de dar é o total. Aqui está o código
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;
A saída é:
NUM_MONTHS DIFF_IN_DAYS
2.774193548 84
Eu preciso, por exemplo, que a saída para essa consulta seja de 2 meses e 14 dias, na pior das hipóteses, senão não me importo se puder ter os dias exatos após os meses, porque esses dias não são realmente 14 porque todos os meses não têm 30 dias.