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.
Sintaks
DATE_TRUNC('datepart', timestamp)
Argumen
- datepart
-
Bagian tanggal untuk memotong nilai stempel waktu. Stempel waktu input dipotong sesuai presisi datepart input. Misalnya,
month
memotong 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-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 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