

 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/). 

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

Concatena um DATE para um TIME ou TIMETZ em ambos os lados do símbolo \$1 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* \$1 *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* \$1 *time*. 

TIMESTAMPTZ se a entrada for *date* \$1 *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\$1TEST e TIMETZ\$1TEST 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\$1TEST da tabela a seguir tem uma coluna TIME\$1VAL (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\$1VAL.

```
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\$1TEST da tabela de exemplo a seguir tem uma coluna TIMETZ\$1VAL (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\$1VAL. 

```
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\$1VAL 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
```