Di MariaDB, TIMESTAMPADD() adalah fungsi tanggal dan waktu bawaan yang menambahkan interval ekspresi bilangan bulat ke ekspresi tanggal atau waktu tertentu.
Sintaks
Sintaksnya seperti ini:
TIMESTAMPADD(unit,interval,datetime_expr)
Dimana unit adalah salah satu dari nilai berikut:
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
Unit opsional dapat memiliki awalan SQL_TSI_ .
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT TIMESTAMPADD(DAY, 10, '2030-02-01'); Hasil:
+-------------------------------------+ | TIMESTAMPADD(DAY, 10, '2030-02-01') | +-------------------------------------+ | 2030-02-11 | +-------------------------------------+
Nilai Tanggal-waktu
Berikut ini contoh melewatkan nilai datetime:
SELECT TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45'); Hasil:
+-----------------------------------------------+ | TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45') | +-----------------------------------------------+ | 2030-02-01 20:30:45 | +-----------------------------------------------+
Menambahkan SQL_TSI_ Awalan
Unit dapat menyertakan SQL_TSI_ awalan jika diperlukan:
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01'); Hasil:
+----------------------------------------------+ | TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01') | +----------------------------------------------+ | 2040-02-01 | +----------------------------------------------+
Mikrodetik
Berikut ini contoh yang menambahkan mikrodetik:
SELECT TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45'); Hasil:
+----------------------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45') | +----------------------------------------------------------+ | 2030-02-01 10:30:45.123456 | +----------------------------------------------------------+
Interval Negatif
Interval negatif valid:
Contoh:
SELECT TIMESTAMPADD(YEAR, -10, '2030-02-01'); Hasil:
+---------------------------------------+ | TIMESTAMPADD(YEAR, -10, '2030-02-01') | +---------------------------------------+ | 2020-02-01 | +---------------------------------------+
Tanggal Saat Ini
Kita dapat melewati NOW() sebagai argumen datetime untuk menggunakan tanggal dan waktu saat ini:
SELECT
NOW(),
TIMESTAMPADD(DAY, 10, NOW()); Hasil:
+---------------------+------------------------------+ | NOW() | TIMESTAMPADD(DAY, 10, NOW()) | +---------------------+------------------------------+ | 2021-05-28 09:58:56 | 2021-06-07 09:58:56 | +---------------------+------------------------------+
Argumen Tidak Ada
Memanggil TIMESTAMPADD() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT TIMESTAMPADD(); 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
Dan contoh lain:
SELECT TIMESTAMPADD(10, '2020-12-09'); 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 '10, '2020-12-09')' at line 1