Función MONTHS_BETWEEN - Amazon Redshift

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 tipo DATE.

date2

Una columna de tipo de datos DATE o una expresión que toma implícitamente el valor de un tipo DATE.

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