Di MariaDB, DATE_ADD() adalah fungsi tanggal dan waktu bawaan yang melakukan aritmatika tanggal.
Ini memungkinkan Anda untuk mengubah tanggal dengan menentukan tanggal, unit yang akan ditambahkan, dan jumlah yang akan ditambahkan. Anda dapat memberikan jumlah negatif jika Anda perlu mengurangi tanggal dengan interval tertentu.
Sintaks
Sintaksnya seperti ini:
DATE_ADD(date,INTERVAL expr unit)
Dimana date adalah tanggal untuk berubah, expr adalah jumlah yang akan ditambahkan, dan unit adalah unit tanggal/waktu yang akan ditambahkan (misalnya detik, menit, dll).
Contoh
Berikut ini contoh dasarnya:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR); Hasil:
+--------------------------------------------------+
| DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 11:00:00 |
+--------------------------------------------------+ Ini seperti melakukan hal berikut:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR; Hasil:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
Interval Negatif
Memberikan interval negatif akan mengurangi jumlah tersebut dari tanggal.
Contoh:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL -1 HOUR); Hasil:
+---------------------------------------------------+
| DATE_ADD('2021-05-31 10:00:00', INTERVAL -1 HOUR) |
+---------------------------------------------------+
| 2021-05-31 09:00:00 |
+---------------------------------------------------+ Unit Lain
Berikut adalah contoh yang menambahkan interval 1 ke berbagai unit tanggal dan waktu:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 YEAR) AS YEAR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MONTH) AS MONTH,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 DAY) AS DAY,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) AS HOUR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) AS MINUTE,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 SECOND) AS SECOND,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MICROSECOND) AS MICROSECOND; Hasil (menggunakan keluaran vertikal):
YEAR: 2022-05-01 10:00:00
MONTH: 2021-06-01 10:00:00
DAY: 2021-05-02 10:00:00
HOUR: 2021-05-01 11:00:00
MINUTE: 2021-05-01 10:01:00
SECOND: 2021-05-01 10:00:01
MICROSECOND: 2021-05-01 10:00:00.000001 Unit Komposit
Berikut ini contoh yang menggunakan unit komposit:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE"; Hasil:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 | +---------------------+---------------------+---------------------+
Tanggal Nol
Melewati null untuk tanggal kembali null :
SELECT DATE_ADD(null, INTERVAL 1 YEAR); Hasil:
+---------------------------------+ | DATE_ADD(null, INTERVAL 1 YEAR) | +---------------------------------+ | NULL | +---------------------------------+
Argumen Tidak Ada
Memanggil DATE_ADD() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT DATE_ADD(); Hasil:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1