Berikut adalah beberapa cara untuk mengembalikan jumlah hari dalam bulan tertentu di Oracle Database. Ini bisa berupa jumlah hari dalam bulan ini, atau jumlah hari dalam sebulan berdasarkan tanggal yang ditentukan.
Opsi 1
Inilah opsi pertama kami:
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;
Hasil:
31
LAST_DAY()
fungsi mengembalikan hari terakhir bulan itu berdasarkan tanggal yang ditentukan. Dengan meneruskan ini ke TO_CHAR()
dengan format DD
untuk hari dalam sebulan, kami mendapatkan nomor hari terakhir bulan itu. Angka itu menunjukkan jumlah hari dalam sebulan.
Kami kemudian menggunakan CAST()
berfungsi untuk mengubah hasil menjadi bilangan bulat.
Opsi 2
Ini opsi lain:
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;
Hasil:
30
TRUNC(date)
fungsi mengembalikan nilai tanggal yang diberikan dengan bagian waktu hari itu terpotong ke unit yang disediakan dalam model format yang ditentukan.