Di MySQL, Anda dapat menggunakan DATE_ADD()
berfungsi untuk menambahkan jumlah waktu tertentu ke tanggal. Misalnya, Anda dapat menggunakannya untuk menambahkan 5 hari ke tanggal tertentu. Anda dapat menentukan apakah akan menambahkan hari, minggu, bulan, kuartal, tahun, dll. Anda juga dapat menambahkan nilai waktu, seperti detik, mikrodetik, dll.
Artikel ini berisi contoh yang menunjukkan bagaimana DATE_ADD()
fungsi berfungsi.
Sintaks
Sintaksnya seperti ini:
DATE_ADD(date,INTERVAL expr unit)
Contoh 1 – Penggunaan Dasar
Berikut ini contoh penggunaannya.
SELECT DATE_ADD('2020-10-01', INTERVAL 20 DAY) AS Result;
Hasil:
+------------+ | Result | +------------+ | 2020-10-21 | +------------+
Contoh ini menambahkan 20 hari ke tanggal yang diberikan oleh argumen pertama.
Contoh 2 – Unit Tanggal Lainnya
Anda dapat menentukan satuan dalam hari, minggu, bulan, tahun, dll. Berikut beberapa contohnya.
SELECT '2020-10-01' AS 'Start Date', DATE_ADD('2020-10-01', INTERVAL 2 WEEK) AS '+2 Weeks', DATE_ADD('2020-10-01', INTERVAL 2 MONTH) AS '+2 Months', DATE_ADD('2020-10-01', INTERVAL 2 QUARTER) AS '+2 Quarters', DATE_ADD('2020-10-01', INTERVAL 2 YEAR) AS '+2 Years';
Hasil:
+------------+------------+------------+-------------+------------+ | Start Date | +2 Weeks | +2 Months | +2 Quarters | +2 Years | +------------+------------+------------+-------------+------------+ | 2020-10-01 | 2020-10-15 | 2020-12-01 | 2021-04-01 | 2022-10-01 | +------------+------------+------------+-------------+------------+
Contoh 3 – Satuan Waktu
Anda juga dapat menambahkan unit waktu ke nilai tanggal/waktu. Ini contohnya.
SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL 10 HOUR) AS Result;
Hasil:
+---------------------+ | Result | +---------------------+ | 2020-10-01 11:00:00 | +---------------------+
Dan Anda dapat menentukan beberapa unit sekaligus. Misalnya, Anda dapat menentukan jam dan menit. Seperti ini.
SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;
Hasil:
+---------------------+ | Result | +---------------------+ | 2020-10-01 02:30:00 | +---------------------+
Nilai yang Diharapkan
Tabel berikut menunjukkan nilai satuan yang valid dan format yang diharapkan.
unit Nilai | expr yang diharapkan Format |
---|---|
MIKROSEKONDA | MIKROSEKON |
DETIK | DETIK |
MENIT | MENIT |
JAM | JAM |
HARI | HARI |
MINGGU | MINGGU |
BULAN | BULAN |
KUARTA | PEREMPAT |
TAHUN | TAHUN |
SECOND_MICROSECOND | ‘SECONDS.MICROSECONDS’ |
MINUTE_MICROSECOND | 'MENIT:DETIK.MIKROSEKON' |
MINUTE_SECOND | 'MENIT:DETIK' |
HOUR_MICROSECOND | ‘JAM:MENIT:DETIK.MICROSECONDS’ |
HOUR_SECOND | 'JAM:MENIT:DETIK' |
HOUR_MINUTE | 'JAM:MENIT' |
DAY_MICROSECOND | 'HARI JAM:MINUTES:SECONDS.MICROSECONDS' |
HARI_DETIK | 'HARI JAM:MENIT:DETIK' |
HARI_MINUTE | 'HARI JAM:MENIT' |
HARI_JAM | 'JAM HARI' |
BULAN_TAHUN | 'TAHUN-BULAN' |
Anda juga dapat menggunakan ADDDATE()
berfungsi untuk melakukan hal yang sama (ini adalah sinonim untuk DATE_ADD()
berfungsi saat menggunakan sintaks yang sama). Selain itu, sintaks ADDDATE()
memiliki bentuk kedua, yang merupakan metode singkat untuk menambahkan jumlah hari tertentu ke suatu tanggal. Untuk info lebih lanjut, lihat Contoh ADDDATE() di MySQL.