Ir al contenido principal

La función MONTHS_BETWEEN ok

La función MONTHS_BETWEEN devuelve un valor numérico que representa, el numero de meses entre dos valores fecha, literales fecha en formato DD-MON-RR ó DD-MON-YYYY son automáticamente convertidos en elementos fecha cuando aparecen como parámetros de la función.
La función MONTHS_BETWEEN toma dos parámetros obligatorios, su sintaxis es MONTHS_BETWEEN(start_date, end_Date). La función calcula la diferencia en meses entre la fecha inicio y la fecha final. Si la fecha final  es antes de la fecha inicio un valor negativo es devuelto. La diferencia entre dos parámetros fecha puede consistir en un numero entero y un componente fraccional. El número entero representa el número de meses entre las dos fechas. El componente fraccional representa los días y horas restantes después de la diferencia entera entre años y meses y es basado en 31 días al mes. Un resultado entero sin parte fraccional significa que se están restando dos fechas en diferente mes pero en el mismo día.

Ejemplos:
-- FUNCION MONTHS_BETWEEN
SELECT SYSDATE, SYSDATE + 31, SYSDATE + 62, SYSDATE + 91, months_between(SYSDATE+31, SYSDATE+62) FROM DUAL;
SELECT MONTHS_BETWEEN('29-MAR-2013', '28-FEB-2013') FROM DUAL;
SELECT MONTHS_BETWEEN(SYSDATE+1,SYSDATE + 1) FROM DUAL;
SELECT MONTHS_BETWEEN('02-ENE-2013 00:00:00', '01-ENE-2013 12:00:00') FROM DUAL;
SELECT MONTHS_BETWEEN('01-ENE-2013', '01-ENE-2012') FROM DUAL;
SELECT MONTHS_BETWEEN(SYSDATE, SYSDATE) FROM DUAL;
SELECT MONTHS_BETWEEN(SYSDATE + 365, SYSDATE) FROM DUAL;

SELECT MONTHS_BETWEEN('01-ABR-2013','01-ENE-2013') FROM DUAL;

Comentarios