Date & Time

DATE_SUB

MySQLMySQL

Mengurangi interval waktu dari tanggal. Kebalikan dari DATE_ADD.

Tipe hasil: DATE/DATETIMEDiperbarui: 16 Mei 2026

Syntax

SQL
DATE_SUB(date, INTERVAL expr unit)

Parameter

datedate/datetimewajib

Tanggal awal

exprinteger/stringwajib

Nilai interval yang dikurangi

unitkeywordwajib

Unit interval (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, dll)

Contoh Penggunaan

Kurangi 30 Hari

SQL
1SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY) AS past_date;

Mendapatkan tanggal 30 hari lalu.

Hasil
past_date: (30 days ago)

Bulan Lalu

SQL
1SELECT * FROM orders
2WHERE order_date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);

Mencari order dalam 1 bulan terakhir.

Hasil
(orders from last month)

Tahun Fiskal Lalu

SQL
1SELECT DATE_SUB('2024-04-01', INTERVAL 1 YEAR) AS prev_fiscal;

Awal tahun fiskal sebelumnya.

Hasil
prev_fiscal: 2023-04-01

Pertanyaan Umum tentang DATE_SUB

Apa itu fungsi DATE_SUB di MySQL?
Mengurangi interval waktu dari tanggal. Kebalikan dari DATE_ADD. Di MySQL, fungsi DATE_SUB termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan DATE_SUB di MySQL?
Gunakan sintaks berikut: DATE_SUB(date, INTERVAL expr unit). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi DATE_SUB?
Fungsi DATE_SUB mengembalikan nilai bertipe DATE/DATETIME. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi DATE_SUB?
Fungsi ini memiliki 3 parameter wajib. Parameter yang digunakan: date (date/datetime, wajib): Tanggal awal; expr (integer/string, wajib): Nilai interval yang dikurangi; unit (keyword, wajib): Unit interval (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, dll).

Fungsi Equivalen di Database Lain