Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Mendapatkan Hari Terakhir Bulan Ini di Oracle

Di Oracle Database kita dapat menggunakan LAST_DAY() berfungsi untuk mengembalikan hari terakhir bulan tertentu. Ini bisa menjadi hari terakhir bulan ini atau hari terakhir bulan berdasarkan tanggal yang ditentukan.

Contoh

SELECT LAST_DAY(date '2035-02-15')
FROM DUAL;

Hasil:

28-FEB-35

Hari terakhir bulan ditentukan oleh parameter sesi NLS_CALENDAR . Lihat Cara Memeriksa Nilai Parameter NLS untuk mengetahui kalender yang digunakan sesi Anda. Milik saya menggunakan kalender Gregorian.

Inilah yang terjadi jika kita menggulirkan tanggal ke depan setahun:

SELECT LAST_DAY(date '2036-02-15')
FROM DUAL;

Hasil:

29-FEB-36

Tahun berikutnya adalah tahun kabisat, jadi kita mendapatkan 29 hari di bulan Februari tahun itu.

Perhatikan bahwa LAST_DAY() fungsi mengembalikan DATE nilai. Ini benar bahkan jika kita melewati TIMESTAMP nilai:

SELECT LAST_DAY(TIMESTAMP '2036-07-15 15:30:45.12345')
FROM DUAL;

Hasil:

31-JUL-36

Bulan Ini

Contoh ini mendapatkan hari terakhir bulan ini:

SELECT 
    SYSDATE,
    LAST_DAY(SYSDATE)
FROM DUAL;

Hasil:

SYSDATE LAST_DAY(SYSDATE)
22-APR-22 30-APR-22

Dalam hal ini saya menggunakan SYSDATE untuk tanggal saat ini.

Bulan Depan

Kita dapat menggunakan ADD_MONTHS() berfungsi untuk menambahkan satu bulan atau lebih ke tanggal saat ini:

SELECT 
    SYSDATE,
    LAST_DAY(ADD_MONTHS(SYSDATE, 1))
FROM DUAL;

Hasil:

SYSDATE LAST_DAY(ADD_MONTHS(SYSDATE,1))
22-APR-22 31-MEI-22

Dalam hal ini, kami mendapatkan hari terakhir bulan depan.

Bulan lalu

Kita dapat menambahkan nilai negatif untuk mendapatkan hari terakhir dari bulan sebelumnya:

SELECT 
    SYSDATE,
    LAST_DAY(ADD_MONTHS(SYSDATE, -1))
FROM DUAL;

Hasil:

SYSDATE LAST_DAY(ADD_MONTHS(SYSDATE,-1))
22-APR-22 31-MAR-22

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang salah dengan PL/SQL ini? Variabel Bind * TIDAK DINYATAKAN

  2. SQL - Temukan pernyataan yang memasukkan nilai tertentu

  3. Bagaimana Memvalidasi Nomor Kartu Kredit dan Mengidentifikasi Jenisnya Menggunakan PL/SQL?

  4. memberikan nama pengguna &kata sandi yang benar, dapatkan ORA-01017:nama pengguna/kata sandi tidak valid; masuk ditolak

  5. Bagaimana cara melewatkan parameter bernilai tabel dari C# ke prosedur tersimpan Oracle