Di MariaDB, DATEDIFF()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan perbedaan, dalam hari, antara dua tanggal.
Ia menerima dua argumen, keduanya adalah ekspresi tanggal atau datetime. Ini kemudian mengurangi tanggal kedua dari yang pertama.
Sintaks
Sintaksnya seperti ini:
DATEDIFF(expr1,expr2)
Kemudian mengembalikan expr1 - expr2
.
Contoh
Ini contohnya:
SELECT DATEDIFF('2030-01-25', '2030-01-20');
Hasil:
+--------------------------------------+ | DATEDIFF('2030-01-25', '2030-01-20') | +--------------------------------------+ | 5 | +--------------------------------------+
Ini dia lagi, tetapi dengan tanggal yang tertukar:
SELECT DATEDIFF('2030-01-20', '2030-01-25');
Hasil:
+--------------------------------------+ | DATEDIFF('2030-01-20', '2030-01-25') | +--------------------------------------+ | -5 | +--------------------------------------+
Nilai Tanggal-waktu
Berikut ini contoh yang menggunakan nilai datetime:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59');
Hasil:
+--------------------------------------------------------+ | DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59') | +--------------------------------------------------------+ | 5 | +--------------------------------------------------------+
Ini contoh lain:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59');
Hasil:
+--------------------------------------------------------+ | DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59') | +--------------------------------------------------------+ | 0 | +--------------------------------------------------------+
Dalam hal ini, meskipun hampir sepanjang hari, itu tidak cukup, dan hasilnya adalah 0
.
Tanggal Saat Ini
Di sini, kami melewati NOW()
sebagai argumen kedua:
SELECT
NOW(),
DATEDIFF('2030-01-20', NOW());
Hasil:
+---------------------+-------------------------------+ | NOW() | DATEDIFF('2030-01-20', NOW()) | +---------------------+-------------------------------+ | 2021-05-10 10:03:08 | 3177 | +---------------------+-------------------------------+
Dalam hal ini ada 3.177 hari antara sekarang dan kencan kedua.
Argumen Tidak Valid
Saat memberikan argumen yang tidak valid, DATEDIFF()
mengembalikan null
:
SELECT DATEDIFF('Homer', 'Simpson');
Hasil:
+------------------------------+ | DATEDIFF('Homer', 'Simpson') | +------------------------------+ | NULL | +------------------------------+
Argumen Tidak Ada
Memanggil DATEDIFF()
jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT DATEDIFF();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DATEDIFF'
Dan:
SELECT DATEDIFF('2030-05-21');
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DATEDIFF'