

 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. 

# Operador \+ (Concatenação)
<a name="r_DATE-CONCATENATE_function"></a>

Concatena um DATE para um TIME ou TIMETZ em ambos os lados do símbolo \+ e retorna um TIMESTAMP ou TIMESTAMPTZ. 

## Sintaxe
<a name="r_DATE-CONCATENATE_function-synopsis"></a>

```
date + {time | timetz}
```

A ordem dos argumentos pode ser invertida. Por exemplo, *hora* \+ *data*.

## Argumentos
<a name="r_DATE-CONCATENATE_function-arguments"></a>

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

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

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

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

TIMESTAMP se a entrada for *date* \+ *time*. 

TIMESTAMPTZ se a entrada for *date* \+ *timetz*. 

## Exemplos
<a name="r_DATE-CONCATENATE_function-examples"></a>

### Exemplo de configuração
<a name="r_DATE-CONCATENATE_function-example-setup"></a>

Para configurar as tabelas TIME\_TEST e TIMETZ\_TEST utilizadas nos exemplos, use o comando a seguir.

```
create table time_test(time_val time);

insert into time_test values
('20:00:00'),
('00:00:00.5550'),
('00:58:00');
   
create table timetz_test(timetz_val timetz);
   
insert into timetz_test values
('04:00:00+00'),
('00:00:00.5550+00'),
('05:58:00+00');
```

### Exemplos com uma coluna time
<a name="r_DATE-CONCATENATE_function-examples-time"></a>

O TIME\_TEST da tabela a seguir tem uma coluna TIME\_VAL (tipo TIME) com três valores inseridos. 

```
select time_val from time_test;
            
time_val
---------------------
20:00:00
00:00:00.5550
00:58:00
```

O exemplo a seguir concatena um literal de data e uma coluna TIME\_VAL.

```
select date '2000-01-02' + time_val as ts from time_test;
            
ts
---------------------
2000-01-02 20:00:00
2000-01-02 00:00:00.5550
2000-01-02 00:58:00
```

O exemplo a seguir concatena um literal de data e um literal de tempo. 

```
select date '2000-01-01' + time '20:00:00' as ts;
            
         ts
---------------------
 2000-01-01 20:00:00
```

O exemplo a seguir concatena um literal de hora e um literal de data. 

```
select time '20:00:00' + date '2000-01-01' as ts;
            
         ts
---------------------
 2000-01-01 20:00:00
```

### Exemplos com uma coluna TIMETZ
<a name="r_DATE-CONCATENATE_function-examples-timetz"></a>

O TIMETZ\_TEST da tabela de exemplo a seguir tem uma coluna TIMETZ\_VAL (tipo TIMETZ) com três valores inseridos. 

```
select timetz_val from timetz_test;
            
timetz_val
------------------
04:00:00+00
00:00:00.5550+00
05:58:00+00
```

O exemplo a seguir concatena um literal de data e uma coluna TIMETZ\_VAL. 

```
select date '2000-01-01' + timetz_val as ts from timetz_test;
ts
---------------------
2000-01-01 04:00:00+00
2000-01-01 00:00:00.5550+00
2000-01-01 05:58:00+00
```

O exemplo a seguir concatena uma coluna TIMETZ\_VAL e um literal de data. 

```
select timetz_val + date '2000-01-01' as ts from timetz_test;
ts
---------------------
2000-01-01 04:00:00+00
2000-01-01 00:00:00.5550+00
2000-01-01 05:58:00+00
```

O exemplo a seguir concatena um literal DATE e um literal TIMETZ. O exemplo retorna um TIMESTAMPTZ que está no fuso horário UTC por padrão. O UTC está oito horas à frente do PST, então o resultado está oito horas antes do horário da entrada.

```
select date '2000-01-01' + timetz '20:00:00 PST' as ts;
            
           ts
------------------------
 2000-01-02 04:00:00+00
```