Función MONTHS_BETWEEN
MONTHS_BETWEEN determina la cantidad de meses que hay entre dos fechas.
Si la primera fecha es posterior a la segunda, el resultado es positivo; de lo contrario, el resultado es negativo.
Si alguno de los argumentos es nulo, el resultado es NULL.
Sintaxis
MONTHS_BETWEEN( date1, date2 )
Argumentos
- date1
-
Una columna de tipo de datos
DATE
o una expresión que toma implícitamente el valor de un tipoDATE
. - date2
-
Una columna de tipo de datos
DATE
o una expresión que toma implícitamente el valor de un tipoDATE
.
Tipo de retorno
FLOAT8
La porción de número entero del resultado se basa en la diferencia entre los valores de mes y año de las fechas. La porción de fracción del resultado se calcula a partir de los valores de día y marca temporal de las fechas y supone un mes de 31 días.
Si tanto date1 (fecha1) como date2 (fecha2) tienen el mismo día del mes (por ejemplo, 15/01/14 y 15/02/14) o el último día el mes (por ejemplo, 31/08/14 y 30/09/14), el resultado será un número entero basado en los valores de mes y año de las fechas, sin importar si la porción de marca temporal (en caso de estar presente) coincide.
Ejemplos
En el siguiente ejemplo, se devuelven los meses entre 18/01/1969 y 18/03/1969.
select months_between('1969-01-18', '1969-03-18') as months;
months ---------- -2
En el siguiente ejemplo, se devuelven los meses entre 18/01/1969 y 18/01/1969.
select months_between('1969-01-18', '1969-01-18') as months;
months ---------- 0
En el siguiente ejemplo, se devuelven los meses entre la primera y la última muestra de un evento.
select eventname, min(starttime) as first_show, max(starttime) as last_show, months_between(max(starttime),min(starttime)) as month_diff from event group by eventname order by eventname limit 5;
eventname first_show last_show month_diff --------------------------------------------------------------------------- .38 Special 2008-01-21 19:30:00.0 2008-12-25 15:00:00.0 11.12 3 Doors Down 2008-01-03 15:00:00.0 2008-12-01 19:30:00.0 10.94 70s Soul Jam 2008-01-16 19:30:00.0 2008-12-07 14:00:00.0 10.7 A Bronx Tale 2008-01-21 19:00:00.0 2008-12-15 15:00:00.0 10.8 A Catered Affair 2008-01-08 19:30:00.0 2008-12-19 19:00:00.0 11.35