

 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 DATE\$1TRUNC
<a name="r_DATE_TRUNC"></a>

A função DATE\$1TRUNC trunca uma expressão de timestamp ou literal com base na parte da data especificada, tal como hora, dia ou mês. 

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

```
DATE_TRUNC('datepart', timestamp)
```

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

 *datepart*   
A parte da data para qual truncar o valor de timestamp. A entrada *timestamp* é truncada para que a entrada *datepart* seja precisa. Por exemplo, `month` trunca para o primeiro dia do mês. Os formatos válidos são:   
+ microssegundo, microssegundos
+ milissegundo, milissegundos
+ segundo, segundos
+ minuto, minutos
+ hora, horas
+ dia, dias
+ semana, semanas
+ mês, meses
+ trimestre, trimestres
+ ano, anos
+ década, décadas
+ século, séculos
+ milênio, milênios
Para obter mais informações sobre a abreviação de alguns formatos, consulte [Partes da data para funções de data ou de timestamp](r_Dateparts_for_datetime_functions.md)

 *timestamp*   
Uma coluna de timestamp ou uma expressão que converta implicitamente para um timestamp.

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

TIMESTAMP

## Exemplos
<a name="r_DATE_TRUNC-example"></a>

Truncar o carimbo de data/hora de entrada para o segundo.

```
SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:05:06
```

Truncar timestamp para minuto.

```
SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:05:00
```

Truncar timestamp para hora.

```
SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:00:00
```

Truncar timestamp para dia.

```
SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 00:00:00
```

Truncar timestamp para o primeiro dia de um mês.

```
SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-01 00:00:00
```

Truncar timestamp para o primeiro dia de um trimestre.

```
SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-01 00:00:00
```

Truncar timestamp para o primeiro dia de um ano.

```
SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-01-01 00:00:00
```

Truncar timestamp para o primeiro dia de um século.

```
SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2001-01-01 00:00:00
```

Trunque o carimbo de data/hora de entrada para o a segunda-feira de uma semana.

```
select date_trunc('week', TIMESTAMP '20220430 04:05:06.789');
date_trunc
2022-04-25 00:00:00
```

No exemplo a seguir, a função DATE\$1TRUNC usa a parte da data “week” para retornar a data para a segunda-feira de cada semana. 

```
select date_trunc('week', saletime), sum(pricepaid) from sales where
saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;

date_trunc  |    sum
------------+-------------
2008-09-01  | 2474899
2008-09-08  | 2412354
2008-09-15  | 2364707
2008-09-22  | 2359351
2008-09-29  |  705249
```