

 O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na [publicação do blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) publicada em 30 de junho de 2025. 

# Perfis de data e hora
<a name="Date_functions_header"></a>

Nesta seção, você pode encontrar informações sobre as funções escalares de data e hora compatíveis com o Amazon Redshift.

**Topics**
+ [Resumo das funções de data e hora](#date-functions-summary)
+ [Funções de data e hora em transações](#date-functions-transactions)
+ [Funções somente nó de liderança defasadas](#date-functions-deprecated)
+ [Operador \+ (Concatenação)](r_DATE-CONCATENATE_function.md)
+ [Função ADD\_MONTHS](r_ADD_MONTHS.md)
+ [Função AT TIME ZONE](r_AT_TIME_ZONE.md)
+ [Função CONVERT\_TIMEZONE](CONVERT_TIMEZONE.md)
+ [Função CURRENT\_DATE](r_CURRENT_DATE_function.md)
+ [Função DATE\_CMP](r_DATE_CMP.md)
+ [Função DATE\_CMP\_TIMESTAMP](r_DATE_CMP_TIMESTAMP.md)
+ [Função DATE\_CMP\_TIMESTAMPTZ](r_DATE_CMP_TIMESTAMPTZ.md)
+ [Função DATEADD](r_DATEADD_function.md)
+ [Função DATEDIFF](r_DATEDIFF_function.md)
+ [Função DATE\_PART](r_DATE_PART_function.md)
+ [Função DATE\_PART\_YEAR](r_DATE_PART_YEAR.md)
+ [Função DATE\_TRUNC](r_DATE_TRUNC.md)
+ [Função EXTRACT](r_EXTRACT_function.md)
+ [Função GETDATE](r_GETDATE.md)
+ [Função INTERVAL\_CMP](r_INTERVAL_CMP.md)
+ [Função LAST\_DAY](r_LAST_DAY.md)
+ [Função MONTHS\_BETWEEN](r_MONTHS_BETWEEN_function.md)
+ [Função NEXT\_DAY](r_NEXT_DAY.md)
+ [Função SYSDATE](r_SYSDATE.md)
+ [Função TIMEOFDAY](r_TIMEOFDAY_function.md)
+ [Função TIMESTAMP\_CMP](r_TIMESTAMP_CMP.md)
+ [Função TIMESTAMP\_CMP\_DATE](r_TIMESTAMP_CMP_DATE.md)
+ [Função TIMESTAMP\_CMP\_TIMESTAMPTZ](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)
+ [Função TIMESTAMPTZ\_CMP](r_TIMESTAMPTZ_CMP.md)
+ [Função TIMESTAMPTZ\_CMP\_DATE](r_TIMESTAMPTZ_CMP_DATE.md)
+ [Função TIMESTAMPTZ\_CMP\_TIMESTAMP](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)
+ [Função TIMEZONE](r_TIMEZONE.md)
+ [Função TO\_TIMESTAMP](r_TO_TIMESTAMP.md)
+ [Função TRUNC](r_TRUNC_date.md)
+ [Partes da data para funções de data ou de timestamp](r_Dateparts_for_datetime_functions.md)

## Resumo das funções de data e hora
<a name="date-functions-summary"></a>


| Função | Sintaxe | Retornos | 
| --- | --- | --- | 
| [Operador \+ (Concatenação)](r_DATE-CONCATENATE_function.md)Concatena uma data para uma hora em ambos os lados do símbolo \+ e retorna um TIMESTAMP ou TIMESTAMPTZ.  | date \+ time | TIMESTAMP ou TIMESTAMPZ | 
| [ADD\_MONTHS](r_ADD_MONTHS.md)Adiciona o número especificado de meses a uma data ou timestamp. |  ADD\_MONTHS ({date\|timestamp}, integer) | TIMESTAMP | 
| [AT TIME ZONE](r_AT_TIME_ZONE.md)Especifica qual fuso horário a usar com uma expressão TIMESTAMP ou TIMESTAMPTZ. |  AT TIME ZONE 'timezone' | TIMESTAMP ou TIMESTAMPZ | 
| [CONVERT\_TIMEZONE](CONVERT_TIMEZONE.md)Converte um timestamp de um fuso horário para outro. | CONVERT\_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP | 
| [CURRENT\_DATE](r_CURRENT_DATE_function.md)Retorna uma data no fuso horário da sessão atual (UTC por padrão) para o início da transação atual. | CURRENT\_DATE | DATE | 
| [DATE\_CMP](r_DATE_CMP.md)Compara duas datas e exibe `0` se as datas forem idênticas, `1` se *date1* for maior e `-1` se *date2* for maior. | DATE\_CMP (date1, date2) | INTEGER | 
| [DATE\_CMP\_TIMESTAMP](r_DATE_CMP_TIMESTAMP.md)Compara uma data a uma hora e exibe `0` se os valores forem idênticos, `1` se *date* for maior e `-1` se *timestamp* for maior. | DATE\_CMP\_TIMESTAMP (date, timestamp) | INTEGER | 
| [DATE\_CMP\_TIMESTAMPTZ](r_DATE_CMP_TIMESTAMPTZ.md)Compara uma data e um carimbo de data/hora com fuso horário e exibe `0` se os valores forem idênticos, `1` se *date* for maior e `-1` se *timestamptz* for maior. | DATE\_CMP\_TIMESTAMPTZ (date, timestamptz) | INTEGER | 
| [DATE\_PART\_YEAR](r_DATE_PART_YEAR.md)Extrai o ano de uma data. | DATE\_PART\_YEAR (date) | INTEGER | 
| [DATEADD](r_DATEADD_function.md)Incrementa uma data ou hora com um intervalo especificado. | DATEADD (datepart, interval, {date\|time\|timetz\|timestamp}) | TIMESTAMP ou TIME ou TIMETZ | 
| [DATEDIFF](r_DATEDIFF_function.md)Retorna a diferença entre as duas datas ou horas para determinada parte da data, tal como um dia ou mês. | DATEDIFF (datepart, {date\|time\|timetz\|timestamp}, {date\|time\|timetz\|timestamp}) | BIGINT | 
| [DATE\_PART](r_DATE_PART_function.md)Extrai um valor da parte de data de uma data ou hora. | DATE\_PART (datepart, {date\|timestamp}) | DOUBLE | 
| [DATE\_TRUNC](r_DATE_TRUNC.md)Trunca um timestamp com base em uma parte da data. | DATE\_TRUNC ('datepart', timestamp) | TIMESTAMP | 
| [EXTRACT](r_EXTRACT_function.md)Extrai uma parte da data ou hora de um timestamp, timestamptz, time ou timetz. | EXTRACT (datepart FROM source) | INTEGER or DOUBLE | 
| [GETDATE](r_GETDATE.md)Retorna a atual data e hora no fuso horário da sessão atual (UTC por padrão). Os parênteses são necessários. | GETDATE() | TIMESTAMP | 
| [INTERVAL\_CMP](r_INTERVAL_CMP.md)Compara dois intervalos e exibe `0` se os intervalos forem iguais, `1` se *interval1* for maior e `-1` se *interval2* for maior. | INTERVAL\_CMP (interval1, interval2) | INTEGER | 
| [LAST\_DAY](r_LAST_DAY.md)Retorna a data do último dia do mês que contém *data*. | LAST\_DAY(date) | DATE | 
| [MONTHS\_BETWEEN](r_MONTHS_BETWEEN_function.md)Retorna o número de meses entre duas datas. | MONTHS\_BETWEEN (date, date) | FLOAT8 | 
| [NEXT\_DAY](r_NEXT_DAY.md)Retorna a data da primeira instância do *dia* que é mais recente que a *data*. | NEXT\_DAY (date, day) | DATE | 
| [SYSDATE](r_SYSDATE.md)Retorna a data e hora em UTC para o início da transação atual. | SYSDATE | TIMESTAMP | 
| [TIMEOFDAY](r_TIMEOFDAY_function.md)Retorna o atual dia da semana, data e hora no fuso horário da sessão atual (UTC por padrão) com um valor de string.  | TIMEOFDAY() | VARCHAR | 
| [TIMESTAMP\_CMP](r_TIMESTAMP_CMP.md)Compara dois carimbos de data/hora e exibe `0` se os carimbos forem iguais, `1` se *timestamp1* for maior e `-1` se *timestamp2* for maior. | TIMESTAMP\_CMP (timestamp1, timestamp2) | INTEGER | 
| [TIMESTAMP\_CMP\_DATE](r_TIMESTAMP_CMP_DATE.md)Compara um carimbo de data/hora a uma data e exibe `0` se os valores forem idênticos, `1` se *timestamp* for maior e `-1` se *date* for maior. | TIMESTAMP\_CMP\_DATE (timestamp, date) | INTEGER | 
| [TIMESTAMP\_CMP\_TIMESTAMPTZ](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)Compara um carimbo de data/hora a um carimbo de data/hora com fuso horário e exibe `0` se os valores forem iguais, `1` se *timestamp* for maior e `-1` se *timestamptz* for maior. | TIMESTAMP\_CMP\_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER | 
| [TIMESTAMPTZ\_CMP](r_TIMESTAMPTZ_CMP.md)Compara dois carimbos de data/hora com valores de fuso horário e exibe `0` se os valores forem iguais, `1` se *timestamptz1* for maior e `-1` se *timestamptz2* for maior. | TIMESTAMPTZ\_CMP (timestamptz1, timestamptz2) | INTEGER | 
| [TIMESTAMPTZ\_CMP\_DATE](r_TIMESTAMPTZ_CMP_DATE.md)Compara o valor de um carimbo de data/hora com fuso horário a uma data e exibe `0` se os valores forem iguais, `1` se *timestamptz* for maior e `-1` se *date* for maior. | TIMESTAMPTZ\_CMP\_DATE (timestamptz, date) | INTEGER | 
| [TIMESTAMPTZ\_CMP\_TIMESTAMP](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)Compara um carimbo de data/hora com fuso horário a um carimbo de data/hora e exibe `0` se os valores forem iguais, `1` se *timestamptz* for maior e `-1` se *timestamp* for maior. | TIMESTAMPTZ\_CMP\_TIMESTAMP (timestamptz, timestamp) | INTEGER | 
| [TIMEZONE](r_TIMEZONE.md)Retorna um timestamp para o valor de fuso horário e timestamp especificados. | TIMEZONE ('timezone' { timestamp \| timestamptz ) | TIMESTAMP ou TIMESTAMPTZ | 
| [TO\_TIMESTAMP](r_TO_TIMESTAMP.md)Retorna um timestamp com fuso horário para o formato de timestamp e fuso horário especificados. | TO\_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ | 
| [TRUNC](r_TRUNC_date.md)Trunca um timestamp e retorna uma data. | TRUNC(timestamp) | DATE | 

**nota**  
Segundos intercalados não são considerados em cálculos tempo decorrido.

## Funções de data e hora em transações
<a name="date-functions-transactions"></a>

Quando você executa as seguintes funções em um bloco de transação (BEGIN… END), a função retorna a data ou hora de início da transação atual, não o início da instrução atual.
+ SYSDATE
+ TIMESTAMP
+ CURRENT\_DATE

As seguintes funções sempre retornam a data ou hora de início da atual instrução, mesmo quando estiverem em um bloco de transação.
+ GETDATE
+ TIMEOFDAY

## Funções somente nó de liderança defasadas
<a name="date-functions-deprecated"></a>

As seguintes funções de data estão defasadas, pois executam somente no nó de liderança. Para obter mais informações, consulte [Função de apenas nó líder](c_SQL_functions_leader_node_only.md).
+ AGE. Use [Função DATEDIFF](r_DATEDIFF_function.md) em vez disso.
+ CURRENT\_TIME. Use [Função GETDATE](r_GETDATE.md) ou [SYSDATE](r_SYSDATE.md) em vez disso. 
+ CURRENT\_TIMESTAMP. Use [Função GETDATE](r_GETDATE.md) ou [SYSDATE](r_SYSDATE.md) em vez disso.
+ LOCALTIME. Use [Função GETDATE](r_GETDATE.md) ou [SYSDATE](r_SYSDATE.md) em vez disso.
+ LOCALTIMESTAMP. Use [Função GETDATE](r_GETDATE.md) ou [SYSDATE](r_SYSDATE.md) em vez disso.
+ ISFINITE 
+ NOW. Use [Função GETDATE](r_GETDATE.md) ou [SYSDATE](r_SYSDATE.md) em vez disso. Se você usar a função NOW em uma visão materializada, ela será definida como o carimbo de data/hora da criação da visão materializada, em vez do carimbo de data/hora atual. 