Memotong (truncate) date/timestamp ke presisi tertentu. Sangat berguna untuk grouping data berdasarkan periode waktu.
TIMESTAMPDiperbarui: 13 Jun 2026DATE_TRUNC(part, date) | DATE_TRUNC(part, timestamp)Level presisi: 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second'
Nilai tanggal atau timestamp yang akan di-truncate
1 SELECT DATE_TRUNC('month', TIMESTAMP '2024-03-15 14:30:00');
Memotong ke awal bulan.
1 SELECT 2 DATE_TRUNC('month', order_date) as month, 3 COUNT(*) as total_orders, 4 SUM(amount) as total_revenue 5 FROM orders 6 GROUP BY DATE_TRUNC('month', order_date) 7 ORDER BY month;
Menghitung total order dan revenue per bulan.
| month | total_orders | total_revenue |
|---|---|---|
| 2024-01-01 | 1250 | 125000000 |
| 2024-02-01 | 1380 | 138000000 |
| 2024-03-01 | 980 | 98000000 |
1 SELECT 2 DATE_TRUNC('week', created_at) as week_start, 3 COUNT(DISTINCT user_id) as weekly_active_users 4 FROM user_sessions 5 GROUP BY 1 6 ORDER BY 1 DESC 7 LIMIT 10;
Menghitung Weekly Active Users (WAU).
1 SELECT 2 DATE_TRUNC('hour', event_time) as hour, 3 COUNT(*) as events_per_hour 4 FROM events 5 WHERE event_date = CURRENT_DATE 6 GROUP BY 1 7 ORDER BY 1;
Menghitung distribusi event per jam.
Sudah paham DATE_TRUNC? Latih langsung di browser
Latihan interaktif, langsung di browser.