Date & Time

DATE_DIFF

BigQueryBigQuery

Menghitung selisih antara dua DATE dalam unit yang ditentukan. Mengembalikan nilai integer.

Tipe hasil: INT64Diperbarui: 7 Jan 2026

Syntax

SQL
DATE_DIFF(date_expression_a, date_expression_b, date_part)

Parameter

date_expression_aDATEwajib

DATE akhir (minuend)

date_expression_bDATEwajib

DATE awal (subtrahend)

date_partDATE_PARTwajib

Unit hasil: DAY, WEEK, MONTH, QUARTER, YEAR

Contoh Penggunaan

Calculate Age

SQL
1SELECT
2 name,
3 birth_date,
4 DATE_DIFF(CURRENT_DATE(), birth_date, YEAR) as age_years,
5 DATE_DIFF(CURRENT_DATE(), birth_date, DAY) as age_days
6FROM `project.dataset.users`;

Hitung umur dalam tahun dan hari.

Hasil
namebirth_dateage_yearsage_days
John1990-05-153312298

Days Between Orders

SQL
1SELECT
2 order_id,
3 order_date,
4 LAG(order_date) OVER (PARTITION BY customer_id ORDER BY order_date) as prev_order,
5 DATE_DIFF(order_date, LAG(order_date) OVER (PARTITION BY customer_id ORDER BY order_date), DAY) as days_since_last
6FROM `project.dataset.orders`;

Hitung hari antara order customer.

Months in Service

SQL
1SELECT
2 employee_id,
3 hire_date,
4 DATE_DIFF(CURRENT_DATE(), hire_date, MONTH) as months_employed
5FROM `project.dataset.employees`
6WHERE status = 'active';

Hitung masa kerja dalam bulan.

Fungsi Equivalen di Database Lain

Fungsi Terkait