Dalam SQLite, kita dapat menggunakan metode berikut untuk menghitung hari terakhir pada bulan tertentu.
Kami dapat mendasarkan ini pada tanggal saat ini, atau pada tanggal tertentu lainnya.
Hari Terakhir Bulan Ini
Berikut ini contoh yang menampilkan hari terakhir bulan ini:
SELECT DATE('now', 'start of month', '+1 month', '-1 day');
Hasil:
2022-03-31
Ini menggunakan DATE()
berfungsi untuk mengembalikan hasil yang kita inginkan. 'now'
argumen mengembalikan tanggal saat ini, dan 'start of month'
argumen memodifikasinya ke awal bulan. Kami kemudian menggunakan '+1 month'
untuk menambahkan satu bulan ke awal bulan (yang akan menggesernya ke awal bulan berikutnya), lalu kami mengurangi tanggal tersebut satu hari (untuk mengembalikannya ke akhir bulan awal).
Hari Terakhir di Bulan Tertentu
Tetapi seperti yang disebutkan, kami tidak terbatas pada akhir bulan ini saja. Kami dapat menentukan tanggal apa pun, dan itu akan mengembalikan akhir bulan, berdasarkan tanggal tersebut.
Berikut beberapa contohnya:
SELECT
DATE('2023-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
DATE('2023-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
DATE('2023-12-10', 'start of month', '+1 month', '-1 day') AS Dec;
Hasil:
Feb Nov Dec ---------- ---------- ---------- 2023-02-28 2023-11-30 2023-12-31
Kita dapat melihat bahwa SQLite cukup pintar untuk menghitung berapa hari dalam setiap bulan. Saat kami menggunakan '+1 month'
, SQLite tahu berapa hari dalam setiap bulan. Kita dapat melihat bahwa Februari memiliki 28 hari, 30 November, dan Desember memiliki 31.
Jika kita menggeser tanggal semula menjadi 2024, kita dapat melihat bahwa Februari memiliki 29 hari di tahun itu:
SELECT
DATE('2024-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
DATE('2024-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
DATE('2024-12-10', 'start of month', '+1 month', '-1 day') AS Dec;
Hasil:
Feb Nov Dec ---------- ---------- ---------- 2024-02-29 2024-11-30 2024-12-31