Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi DATE_TRUNC
Fungsi DATE_TRUNC memotong ekspresi stempel waktu atau literal berdasarkan bagian tanggal yang Anda tentukan, seperti jam, hari, atau bulan.
Sintaksis
DATE_TRUNC('datepart', timestamp)
Argumen
- 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
- stempel waktu
-
Kolom timestamp atau ekspresi yang secara implisit mengkonversi ke stempel waktu.
Jenis pengembalian
TIMESTAMP
Contoh
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 masukan 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