Di MariaDB, ADD_MONTHS()
adalah fungsi tanggal dan waktu bawaan yang menambahkan jumlah bulan tertentu ke tanggal, dan mengembalikan hasilnya.
Tanggal dapat berupa tanggal, waktu tanggal, atau nilai stempel waktu.
Fungsi ini diperkenalkan di MariaDB 10.6.1 untuk meningkatkan kompatibilitas Oracle. Setidaknya ada 6 cara lain untuk menambahkan bulan ke tanggal di MariaDB.
Sintaks
Sintaksnya seperti ini:
ADD_MONTHS(date, months)
Dimana date
adalah tanggal, dan months
adalah jumlah bulan untuk ditambahkan.
Contoh
Ini contohnya:
SELECT ADD_MONTHS('2020-01-01', 3);
Hasil:
+-----------------------------+ | ADD_MONTHS('2020-01-01', 3) | +-----------------------------+ | 2020-04-01 | +-----------------------------+
Kurangi Bulan
Untuk mengurangi bulan dari tanggal, gunakan nilai negatif untuk argumen kedua.
Contoh:
SELECT ADD_MONTHS('2020-01-01', -3);
Hasil:
+------------------------------+ | ADD_MONTHS('2020-01-01', -3) | +------------------------------+ | 2019-10-01 | +------------------------------+
Konteks Numerik
Tanggal dapat diberikan dalam bentuk numerik jika diperlukan:
SELECT ADD_MONTHS(20200101, 3);
Hasil:
+-------------------------+ | ADD_MONTHS(20200101, 3) | +-------------------------+ | 2020-04-01 | +-------------------------+
Tanggal Tidak Valid
Jika tanggal tidak valid, ADD_MONTHS()
mengembalikan null
dengan peringatan:
SELECT ADD_MONTHS('2020-01-51', 3);
Hasil:
+-----------------------------+ | ADD_MONTHS('2020-01-51', 3) | +-----------------------------+ | NULL | +-----------------------------+ 1 row in set, 1 warning (0.003 sec)
Mari kita periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '2020-01-51' | +---------+------+----------------------------------------+
Argumen Null
ADD_MONTHS()
mengembalikan null
jika ada argumen null
:
SELECT ADD_MONTHS('2020-01-01', null);
Hasil:
+--------------------------------+ | ADD_MONTHS('2020-01-01', null) | +--------------------------------+ | NULL | +--------------------------------+
Jumlah Argumen Tidak Valid
Melewati sejumlah argumen yang tidak valid menghasilkan kesalahan:
SELECT ADD_MONTHS(3);
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