Date & Time

DATE_SUB

BigQueryBigQuery

Mengurangi interval waktu tertentu dari DATE. Mengembalikan DATE baru.

Tipe hasil: DATEDiperbarui: 7 Jan 2026

Syntax

SQL
DATE_SUB(date_expression, INTERVAL int64_expression date_part)

Parameter

date_expressionDATEwajib

DATE awal

int64_expressionINT64wajib

Jumlah interval yang dikurangi

date_partDATE_PARTwajib

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

Contoh Penggunaan

Subtract Days

SQL
1SELECT
2 CURRENT_DATE() as today,
3 DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) as week_ago,
4 DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) as month_ago;

Mengurangi interval dari tanggal.

Hasil
todayweek_agomonth_ago
2024-01-152024-01-082023-12-16

Filter Last 30 Days

SQL
1SELECT *
2FROM `project.dataset.orders`
3WHERE order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);

Filter order 30 hari terakhir.

Year-over-Year Comparison

SQL
1SELECT
2 DATE_TRUNC(order_date, MONTH) as month,
3 SUM(amount) as this_year,
4 SUM(CASE
5 WHEN order_date >= DATE_SUB(DATE_TRUNC(order_date, MONTH), INTERVAL 1 YEAR)
6 THEN amount
7 END) as last_year
8FROM `project.dataset.orders`
9GROUP BY month;

Perbandingan dengan tahun sebelumnya.

Fungsi Terkait