

 Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting [ blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) yang diterbitkan pada 30 Juni 2025. 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Fungsi DATE\_TRUNC
<a name="r_DATE_TRUNC"></a>

Fungsi DATE\_TRUNC memotong ekspresi stempel waktu atau literal berdasarkan bagian tanggal yang Anda tentukan, seperti jam, hari, atau bulan. 

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

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

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

 *datepart*   
Bagian tanggal untuk memotong nilai stempel waktu. *Stempel waktu* *input dipotong sesuai presisi datepart input.* Misalnya, `month` terpotong ke hari pertama bulan itu. Format yang valid adalah sebagai berikut:   
+ mikrodetik, mikrodetik
+ milidetik, milidetik
+ kedua, detik
+ menit, menit
+ jam, jam
+ hari, hari
+ minggu, minggu
+ bulan, bulan
+ seperempat, kuartal
+ tahun, tahun
+ dekade, dekade
+ abad, berabad-abad
+ milenium, milenium
Untuk informasi selengkapnya tentang singkatan dari beberapa format, lihat [Bagian tanggal untuk fungsi tanggal atau stempel waktu](r_Dateparts_for_datetime_functions.md)

 *stempel waktu*   
Kolom timestamp atau ekspresi yang secara implisit mengkonversi ke stempel waktu.

## Jenis pengembalian
<a name="r_DATE_TRUNC-return-type"></a>

TIMESTAMP

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

Pisahkan stempel waktu masukan ke yang kedua.

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

Pisahkan stempel waktu masukan ke menit.

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

Memangkas stempel waktu input ke jam.

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

Memangkas stempel waktu input ke hari itu.

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

Pisahkan stempel waktu masukan ke hari pertama dalam sebulan.

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

Potong stempel waktu input ke hari pertama seperempat.

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

Pisahkan stempel waktu masukan ke hari pertama dalam setahun.

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

Potong stempel waktu input ke hari pertama abad.

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

Pisahkan stempel waktu input ke hari Senin dalam seminggu.

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

Dalam contoh berikut, fungsi DATE\_TRUNC menggunakan bagian tanggal 'minggu' untuk mengembalikan tanggal untuk hari Senin setiap minggu. 

```
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
```