Date & Time

DATEDIFF

SnowflakeSnowflake

Menghitung selisih antara dua tanggal atau timestamp dalam unit waktu tertentu.

Tipe hasil: INTEGERDiperbarui: 6 Jan 2026

Syntax

SQL
DATEDIFF(date_or_time_part, date_or_time_expr1, date_or_time_expr2)

Parameter

date_or_time_partVARCHARwajib

Unit waktu untuk hasil: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND

date_or_time_expr1DATE/TIMESTAMPwajib

Tanggal awal (akan dikurangi dari tanggal akhir)

date_or_time_expr2DATE/TIMESTAMPwajib

Tanggal akhir

Contoh Penggunaan

Menghitung Selisih Hari

SQL
1SELECT DATEDIFF('DAY', '2024-01-01', '2024-03-15') as days_diff;

Menghitung jumlah hari antara dua tanggal.

Hasil
74

Menghitung Umur Akun

SQL
1SELECT
2 user_id,
3 created_at,
4 DATEDIFF('DAY', created_at, CURRENT_TIMESTAMP()) as account_age_days,
5 DATEDIFF('MONTH', created_at, CURRENT_TIMESTAMP()) as account_age_months
6FROM users;

Menghitung umur akun user dalam hari dan bulan.

Hasil
USER_IDCREATED_ATACCOUNT_AGE_DAYSACCOUNT_AGE_MONTHS
U0012023-01-1545015
U0022023-06-2029510

Analisis Waktu Proses

SQL
1SELECT
2 order_id,
3 order_date,
4 ship_date,
5 DATEDIFF('DAY', order_date, ship_date) as processing_days
6FROM orders
7WHERE ship_date IS NOT NULL;

Menghitung waktu proses dari order sampai pengiriman.

Hasil
ORDER_IDORDER_DATESHIP_DATEPROCESSING_DAYS
ORD-0012024-03-012024-03-032
ORD-0022024-03-052024-03-083

Fungsi Equivalen di Database Lain

Fungsi Terkait