Date & Time

EXTRACT

DuckDBDuckDB

Mengekstrak komponen tertentu dari nilai date atau timestamp. Mengembalikan nilai numerik.

Tipe hasil: BIGINT (atau DOUBLE untuk EPOCH)Diperbarui: 6 Jan 2026

Syntax

SQL
EXTRACT(field FROM date/timestamp)

Parameter

fieldVARCHARwajib

Komponen yang diekstrak: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, DOW, DOY, WEEK, QUARTER, EPOCH

date/timestampDATE/TIMESTAMPwajib

Nilai tanggal atau timestamp

Contoh Penggunaan

Ekstrak Tahun dan Bulan

SQL
1SELECT
2 EXTRACT(YEAR FROM order_date) as year,
3 EXTRACT(MONTH FROM order_date) as month,
4 COUNT(*) as orders
5FROM orders
6GROUP BY 1, 2
7ORDER BY 1, 2;

Menghitung order per tahun dan bulan.

Hasil
yearmonthorders
202411250
202421380
20243980

Analisis Hari dalam Seminggu

SQL
1SELECT
2 EXTRACT(DOW FROM order_date) as day_of_week,
3 CASE EXTRACT(DOW FROM order_date)
4 WHEN 0 THEN 'Minggu'
5 WHEN 1 THEN 'Senin'
6 WHEN 2 THEN 'Selasa'
7 WHEN 3 THEN 'Rabu'
8 WHEN 4 THEN 'Kamis'
9 WHEN 5 THEN 'Jumat'
10 WHEN 6 THEN 'Sabtu'
11 END as day_name,
12 COUNT(*) as orders
13FROM orders
14GROUP BY 1, 2
15ORDER BY 1;

Menganalisis distribusi order per hari dalam seminggu.

Ekstrak Jam

SQL
1SELECT
2 EXTRACT(HOUR FROM created_at) as hour,
3 COUNT(*) as signups
4FROM users
5GROUP BY 1
6ORDER BY 1;

Menghitung signup per jam.

Konversi ke Unix Timestamp

SQL
1SELECT
2 order_date,
3 EXTRACT(EPOCH FROM order_date) as unix_timestamp
4FROM orders
5LIMIT 5;

Mengkonversi tanggal ke Unix timestamp.