Date & Time
DuckDB
EPOCH
Mengkonversi timestamp ke Unix epoch (detik sejak 1970-01-01 00:00:00 UTC). Berguna untuk interoperabilitas dengan sistem lain.
Tipe hasil:
DOUBLE (seconds with fractional)Diperbarui: 6 Jan 2026Syntax
SQL
EPOCH(timestamp) | EXTRACT(EPOCH FROM timestamp)Parameter
timestampTIMESTAMPwajib
Timestamp yang akan dikonversi ke epoch
Contoh Penggunaan
Konversi ke Unix Epoch
SQL
1 SELECT 2 ts, 3 EPOCH(ts) as epoch_seconds 4 FROM ( 5 SELECT TIMESTAMP '1970-01-01 00:00:00' as ts UNION ALL 6 SELECT TIMESTAMP '2024-06-15 12:00:00' UNION ALL 7 SELECT TIMESTAMP '2000-01-01 00:00:00' 8 );
Mengkonversi timestamp ke Unix epoch.
Hasil
| ts | epoch_seconds |
|---|---|
| 1970-01-01 00:00:00 | 0 |
| 2024-06-15 12:00:00 | 1718452800 |
| 2000-01-01 00:00:00 | 946684800 |
Menghitung Durasi dalam Detik
SQL
1 SELECT 2 start_time, 3 end_time, 4 EPOCH(end_time) - EPOCH(start_time) as duration_seconds, 5 (EPOCH(end_time) - EPOCH(start_time)) / 60 as duration_minutes 6 FROM tasks;
Menghitung durasi task dalam detik dan menit.
Hasil
| start_time | end_time | duration_seconds | duration_minutes |
|---|---|---|---|
| 2024-06-15 09:00:00 | 2024-06-15 09:45:30 | 2730 | 45.5 |
| 2024-06-15 14:00:00 | 2024-06-15 16:30:00 | 9000 | 150 |
Konversi Epoch ke Timestamp
SQL
1 SELECT 2 epoch_val, 3 TO_TIMESTAMP(epoch_val) as timestamp_val 4 FROM ( 5 SELECT unnest([0, 1718452800, 946684800]) as epoch_val 6 );
Mengkonversi Unix epoch kembali ke timestamp.
Hasil
| epoch_val | timestamp_val |
|---|---|
| 0 | 1970-01-01 00:00:00 |
| 1718452800 | 2024-06-15 12:00:00 |
| 946684800 | 2000-01-01 00:00:00 |