

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función MONTHS\$1BETWEEN
<a name="r_MONTHS_BETWEEN_function"></a>

MONTHS\$1BETWEEN 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
<a name="r_MONTHS_BETWEEN_function-synopsis"></a>

```
MONTHS_BETWEEN( date1, date2 )
```

## Argumentos
<a name="r_MONTHS_BETWEEN_function-arguments"></a>

 *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
<a name="r_MONTHS_BETWEEN_function-return-type"></a>

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
<a name="r_MONTHS_BETWEEN_function-examples"></a>

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
```