Date & Time

EPOCH

DuckDBDuckDB

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 2026

Syntax

SQL
EPOCH(timestamp) | EXTRACT(EPOCH FROM timestamp)

Parameter

timestampTIMESTAMPwajib

Timestamp yang akan dikonversi ke epoch

Contoh Penggunaan

Konversi ke Unix Epoch

SQL
1SELECT
2 ts,
3 EPOCH(ts) as epoch_seconds
4FROM (
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
tsepoch_seconds
1970-01-01 00:00:000
2024-06-15 12:00:001718452800
2000-01-01 00:00:00946684800

Menghitung Durasi dalam Detik

SQL
1SELECT
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
6FROM tasks;

Menghitung durasi task dalam detik dan menit.

Hasil
start_timeend_timeduration_secondsduration_minutes
2024-06-15 09:00:002024-06-15 09:45:30273045.5
2024-06-15 14:00:002024-06-15 16:30:009000150

Konversi Epoch ke Timestamp

SQL
1SELECT
2 epoch_val,
3 TO_TIMESTAMP(epoch_val) as timestamp_val
4FROM (
5 SELECT unnest([0, 1718452800, 946684800]) as epoch_val
6);

Mengkonversi Unix epoch kembali ke timestamp.

Hasil
epoch_valtimestamp_val
01970-01-01 00:00:00
17184528002024-06-15 12:00:00
9466848002000-01-01 00:00:00