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

LAST_DAY() Fungsi di Oracle

Di Oracle Database, LAST_DAY() fungsi mengembalikan hari terakhir bulan yang berisi tanggal yang disediakan.

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(DATE '2030-02-01')
FROM DUAL;

Hasil:

28-FEB-30

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(DATE '2032-02-01')
FROM DUAL;

Hasil:

29-FEB-32

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.

Selain itu, tanggal dikembalikan dalam format yang ditentukan untuk sesi Anda. Dalam contoh ini, sesi saya menggunakan format default ketika NLS_TERRITORY parameter diatur ke AMERICA . Anda selalu dapat mengubah format waktu sesi jika diinginkan.

Nilai Datetime Lainnya

Ini juga berfungsi dengan nilai datetime lainnya, seperti TIMESTAMP , dll:

SELECT LAST_DAY(TIMESTAMP '2030-02-01 10:30:45.34567')
FROM DUAL;

Hasil:

28-FEB-30

Namun, jenis yang dikembalikan selalu DATE , terlepas dari tipe data argumennya.

Tanggal Di Luar Rentang

Tanggal nol dan tanggal di luar rentang lainnya menghasilkan kesalahan.

Contoh:

SELECT LAST_DAY(DATE '0000-00-00')
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT LAST_DAY(DATE '0000-00-00')
FROM DUAL
Error at Command Line : 1 Column : 22
Error report -
SQL Error: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
01841. 00000 -  "(full) year must be between -4713 and +9999, and not be 0"
*Cause:    Illegal year entered
*Action:   Input year in the specified range

Seperti yang dinyatakan oleh pesan kesalahan, tahun (penuh) harus antara -4713 dan +9999 , dan bukan 0 .

Tanggal Saat Ini

Kita dapat melewati SYSDATE sebagai argumen datetime untuk menggunakan tanggal saat ini:

SELECT 
    SYSDATE,
    LAST_DAY(SYSDATE)
FROM DUAL;

Hasil:

     SYSDATE    LAST_DAY(SYSDATE) 
____________ ____________________ 
12-AUG-21    31-AUG-21           

Argumen Tidak Ada

Memanggil LAST_DAY() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:

SELECT LAST_DAY()
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT LAST_DAY()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Langkah demi Langkah R12.2.6 Instalasi EBS di Virtual Box Bagian -2

  2. menyematkan gambar di email html

  3. cara memeriksa semua kendala pada tabel di oracle

  4. Atur Ulang Urutan di oracle 11g

  5. TO_DSINTERVAL() Fungsi di Oracle