Date & Time

DATE_TRUNC

SnowflakeSnowflake

Memotong (truncate) timestamp ke presisi tertentu. Sangat berguna untuk grouping data berdasarkan periode waktu.

Tipe hasil: DATE/TIMESTAMP (sama dengan input)Diperbarui: 6 Jan 2026

Syntax

SQL
DATE_TRUNC(date_or_time_part, date_or_time_expr)

Parameter

date_or_time_partVARCHARwajib

Presisi truncate: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND

date_or_time_exprDATE/TIMESTAMPwajib

Nilai tanggal atau timestamp yang akan di-truncate

Contoh Penggunaan

Truncate ke Bulan

SQL
1SELECT DATE_TRUNC('MONTH', '2024-03-15 14:30:00'::TIMESTAMP) as result;

Memotong timestamp ke awal bulan.

Hasil
2024-03-01 00:00:00.000

Grouping Sales per Bulan

SQL
1SELECT
2 DATE_TRUNC('MONTH', order_date) as month,
3 SUM(amount) as total_sales,
4 COUNT(*) as order_count
5FROM orders
6GROUP BY DATE_TRUNC('MONTH', order_date)
7ORDER BY month;

Menghitung total penjualan dan jumlah order per bulan.

Hasil
MONTHTOTAL_SALESORDER_COUNT
2024-01-01 00:00:00.0001250000450
2024-02-01 00:00:00.0001480000520
2024-03-01 00:00:00.0001320000480

Analisis per Jam

SQL
1SELECT
2 DATE_TRUNC('HOUR', event_timestamp) as hour,
3 COUNT(*) as event_count
4FROM events
5WHERE event_timestamp >= DATEADD('DAY', -1, CURRENT_TIMESTAMP())
6GROUP BY 1
7ORDER BY 1;

Menghitung jumlah event per jam dalam 24 jam terakhir.

Pertanyaan Umum tentang DATE_TRUNC

Apa itu fungsi DATE_TRUNC di Snowflake?
Memotong (truncate) timestamp ke presisi tertentu. Sangat berguna untuk grouping data berdasarkan periode waktu. Di Snowflake, fungsi DATE_TRUNC termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan DATE_TRUNC di Snowflake?
Gunakan sintaks berikut: DATE_TRUNC(date_or_time_part, date_or_time_expr). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi DATE_TRUNC?
Fungsi DATE_TRUNC mengembalikan nilai bertipe DATE/TIMESTAMP (sama dengan input). Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi DATE_TRUNC?
Fungsi ini memiliki 2 parameter wajib. Parameter yang digunakan: date_or_time_part (VARCHAR, wajib): Presisi truncate: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND; date_or_time_expr (DATE/TIMESTAMP, wajib): Nilai tanggal atau timestamp yang akan di-truncate.