Fungsi Oracle NVL

Fungsi Oracle Nvl



Nilai null adalah bidang yang dibiarkan kosong atau tidak memiliki nilai yang ditetapkan.

Nilai NULL umum di database, terutama saat mengimpor data eksternal. Oleh karena itu, kecuali kolom berisi batasan untuk mencegah nilai NULL, mesin database kemungkinan akan menggunakan nilai NULL untuk nilai yang hilang.







Meskipun nilai NULL umum, mereka dapat menyebabkan masalah basis data karena basis data tidak memiliki nilai untuk digunakan. Oleh karena itu, merupakan praktik yang baik untuk menerapkan tindakan guna menangani nilai NULL dalam Kueri Anda.



Dalam posting ini, kita akan belajar bagaimana mengonversi nilai NULL dalam tabel yang diberikan untuk memuat nilai default yang cenderung menyebabkan kesalahan operasi di database Anda.



Fungsi Oracle NVL

Seperti disebutkan, fungsi ini memungkinkan kita untuk mengganti nilai NULL dengan nilai yang lebih bermakna. Sintaks fungsi disediakan di bawah ini:





NVL ( ekspr1, ekspr2 ) ;

Fungsi menerima dua argumen utama:

ekspr1 dan ekspr2 – parameter ini menentukan nilai yang akan diuji untuk nilai NULL. Jika nilai expr1 adalah NULL, fungsi akan mengembalikan nilai expr2.



Kedua ekspresi dapat memiliki tipe data yang sama atau berbeda. Jika tipe data yang sesuai berbeda, mesin database dapat melakukan konversi implisit untuk memungkinkan kompatibilitas dengan tipe data. Jika tidak mungkin untuk mengonversi tipe data yang sesuai, mesin database akan menampilkan kesalahan.

Penggunaan Contoh Fungsi Oracle NVL()

Contoh berikut menunjukkan penggunaan dasar fungsi NVL():

Contoh 1

Pertimbangkan contoh berikut:

Pilih lvl ( 'halo' , 'dunia' ) dari ganda;

Pada contoh sebelumnya, kami menggunakan fungsi NVL() untuk menguji apakah string 'hello' adalah nilai NULL. Karena nilai yang diberikan bukan nol, fungsi akan mengembalikan string 'halo'.

Contoh 2

Pertimbangkan contoh kedua yang ditunjukkan di bawah ini:

Pilih lvl ( batal, 'dunia' ) dari ganda;

Dalam hal ini, karena ekspresi pertama adalah nilai NULL, kueri akan mengembalikan string kedua seperti yang ditunjukkan di bawah ini:

Contoh 3

Kita juga bisa menggunakan fungsi NVL() untuk mengganti nilai NULl dalam tabel database. Pertimbangkan tabel karyawan yang ditunjukkan di bawah ini:

Pilih FIRST_NAME, LAST_NAME, EMAIL, SALARY, COMMISSION_PCT dari EMPLOYEES emp;

Tabel yang dihasilkan:

Seperti yang bisa kita lihat, kolom commission_pct berisi nilai NULL. Kita dapat membuat kueri untuk mengganti nilai NULL dari kolom commission_pct dengan 0, seperti yang ditunjukkan pada contoh di bawah ini:

Pilih FIRST_NAME, LAST_NAME, EMAIL, GAJI, nvl ( KOMISI_PCT, 0 )
dari KARYAWAN emp;

Dalam kueri contoh sebelumnya, kami menggunakan fungsi NVL() untuk menguji nilai di kolom commission_pct untuk NULL. Jika ada nilai NULL, kami mengembalikan 0. Jika tidak, kami mengembalikan nilai aslinya.

Ini memungkinkan kita untuk mengganti nilai NULL di kolom dengan 0, seperti yang ditunjukkan pada tabel hasil di bawah ini:

Kita dapat menggunakan ini dengan pernyataan UPDATE atau menyimpan nilai yang dihasilkan dalam tampilan tabel.

Kesimpulan

Dalam tutorial ini, Anda belajar cara menggunakan fungsi Oracle NVL() untuk mengganti nilai NULL dengan nilai default. Perlu diingat bahwa meskipun fungsi NVL() sangat mirip dengan fungsi COALESCE(), fungsi NVL() hanya dapat mengembalikan satu nilai. Pada saat yang sama, fungsi coalesce() dapat mengembalikan banyak nilai.

Jika Anda mencari fungsi yang dapat mengambil lebih dari dua argumen tanpa menggunakan fungsi coalesce(), pertimbangkan fungsi NVL2().