Di MariaDB, LAST_DAY()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan hari terakhir bulan untuk tanggal tertentu.
Ia menerima satu argumen, yaitu tanggal yang Anda inginkan untuk menemukan hari terakhir bulan itu.
Sintaks
Sintaksnya seperti ini:
LAST_DAY(date)
Dimana date
adalah ekspresi tanggal yang ingin Anda temukan hari terakhir bulannya.
Contoh
Ini contohnya:
SELECT LAST_DAY('2030-02-01');
Hasil:
+------------------------+ | LAST_DAY('2030-02-01') | +------------------------+ | 2030-02-28 | +------------------------+
Dalam hal ini, kami menggunakan tanggal di bulan Februari. Ternyata, Februari memiliki 28 hari di tahun itu.
Inilah yang terjadi jika kita menambahkan tanggal ke tahun kabisat berikutnya:
SELECT LAST_DAY('2032-02-01');
Hasil:
+------------------------+ | LAST_DAY('2032-02-01') | +------------------------+ | 2032-02-29 | +------------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT LAST_DAY('2030-02-01 10:30:45');
Hasil:
+---------------------------------+ | LAST_DAY('2030-02-01 10:30:45') | +---------------------------------+ | 2030-02-28 | +---------------------------------+
Tanggal Nol
Tanggal nol menghasilkan null
.
Contoh:
SELECT LAST_DAY('0000-00-00');
Hasil:
+------------------------+ | LAST_DAY('0000-00-00') | +------------------------+ | NULL | +------------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT LAST_DAY(20301125);
Hasil:
+--------------------+ | LAST_DAY(20301125) | +--------------------+ | 2030-11-30 | +--------------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT LAST_DAY(301125);
Hasil:
+------------------+ | LAST_DAY(301125) | +------------------+ | 2030-11-30 | +------------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT LAST_DAY(20301135);
Hasil:
+--------------------+ | LAST_DAY(20301135) | +--------------------+ | NULL | +--------------------+ 1 row in set, 1 warning (0.000 sec)
Kita dapat memeriksa peringatan seperti ini:
SHOW WARNINGS;
Hasil:
+---------+------+--------------------------------------+ | Level | Code | Message | +---------+------+--------------------------------------+ | Warning | 1292 | Incorrect datetime value: '20301135' | +---------+------+--------------------------------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
LAST_DAY('2030/06/25'),
LAST_DAY('2030,06,25'),
LAST_DAY('2030:06:25'),
LAST_DAY('2030;06!25');
Hasil (menggunakan keluaran vertikal):
LAST_DAY('2030/06/25'): 2030-06-30 LAST_DAY('2030,06,25'): 2030-06-30 LAST_DAY('2030:06:25'): 2030-06-30 LAST_DAY('2030;06!25'): 2030-06-30
Tanggal Saat Ini
Kita dapat melewati NOW()
sebagai argumen datetime untuk menggunakan tanggal saat ini:
SELECT
NOW(),
LAST_DAY(NOW());
Hasil:
+---------------------+-----------------+ | NOW() | LAST_DAY(NOW()) | +---------------------+-----------------+ | 2021-05-18 09:39:01 | 2021-05-31 | +---------------------+-----------------+
Argumen Tidak Valid
Saat memberikan argumen yang tidak valid, LAST_DAY()
mengembalikan null
:
SELECT LAST_DAY('2030-65-78');
Hasil:
+------------------------+ | LAST_DAY('2030-65-78') | +------------------------+ | NULL | +------------------------+ 1 row in set, 1 warning (0.000 sec)
Periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '2030-65-78' | +---------+------+----------------------------------------+
Argumen Tidak Ada
Memanggil LAST_DAY()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT LAST_DAY();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LAST_DAY'
Dan contoh lain:
SELECT LAST_DAY('2030-12-10', '2031-12-10');
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LAST_DAY'