MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana LAST_DAY() Bekerja di MariaDB

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 8 Cara Menambahkan Satu Jam ke Datetime di MariaDB

  2. LANTAI MariaDB() vs TRUNCATE()

  3. Cara Mengatur Replikasi MariaDB (Master-Slave) di CentOS/RHEL 7 dan Debian 8/9

  4. 5 Fungsi untuk Mengekstrak Nomor Minggu dari Tanggal di MariaDB

  5. 11 Fungsi untuk Mendapatkan Hari, Bulan, dan Tahun dari Tanggal di MariaDB