

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função MONTHS\$1BETWEEN
<a name="r_MONTHS_BETWEEN_function"></a>

MONTHS\$1BETWEEN determina o número de meses entre duas datas.

Se a primeira data for mais recente do que a segunda, o resultado será positivo; caso contrário, o resultado será negativo.

Se um dos argumentos for nulo o resultado será NULL.

## Sintaxe
<a name="r_MONTHS_BETWEEN_function-synopsis"></a>

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

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

 *date1*   
Uma coluna de tipo de dados `DATE` ou uma expressão que é avaliada implicitamente como um tipo `DATE`.

 *date2*   
Uma coluna de tipo de dados `DATE` ou uma expressão que é avaliada implicitamente como um tipo `DATE`.

## Tipo de retorno
<a name="r_MONTHS_BETWEEN_function-return-type"></a>

FLOAT8

A porção inteira do número do resultado é baseada na diferença entre os valores de ano e de mês das datas. A parte fracionária do resultado é calculada a partir dos valores de dia e timestamp das datas e presume um mês de 31 dias.

Se *date1* e *date2* contêm a mesma data em um mês (por exemplo, 1/15/14 e 2/15/14) ou o último dia do mês (por exemplo, 8/31/14 e 9/30/14), o resultado é um número inteiro baseado nos valores de ano e mês das datas, independente de correspondência na porção do timestamp, se houver.

## Exemplos
<a name="r_MONTHS_BETWEEN_function-examples"></a>

O exemplo a seguir retorna os meses entre 18/1/1969 e 18/3/1969. 

```
select months_between('1969-01-18', '1969-03-18')
as months;

months
----------
-2
```

O exemplo a seguir retorna os meses entre 18/1/1969 e 18/1/1969. 

```
select months_between('1969-01-18', '1969-01-18')
as months;

months
----------
0
```

 O exemplo a seguir retorna os meses entre a primeira e a última exibição de um 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
```