Tutorial Oracle SQL ini memberikan penjelasan, contoh fungsi NVL di Oracle
Apa itu fungsi NVL() di Oracle
Fungsi NVL di Oracle adalah fungsi nesting yang digunakan untuk menggantikan nilai null dengan nilai tertentu
Dalam sintaks di atas
expr1 :itu adalah nilai atau ekspresi sumber yang mungkin berisi nol. Anda dapat memberikan nama kolom, fungsi pada nama kolom
expr2:Ini adalah nilai target yang akan ditempatkan jika null dikembalikan dari expr1
Jika expr1 adalah null, maka NVL mengembalikan expr2. Jika expr1 bukan null, maka NVL mengembalikan expr1.
Poin Penting untuk diperhatikan
(1) Argumen expr1 dan expr2 dapat memiliki tipe data apa pun. Jika tipe datanya berbeda, maka Oracle Database secara implisit mengonversi satu ke yang lain. Jika tidak dapat dikonversi secara implisit, database mengembalikan kesalahan.
Jika expr1 adalah data karakter, maka Oracle Database mengonversi expr2 ke tipe data dari expr1 sebelum membandingkannya dan mengembalikan VARCHAR2 dalam kumpulan karakter dari expr1.
Jika expr1 adalah numerik, maka Oracle menentukan argumen mana yang memiliki prioritas numerik tertinggi, secara implisit mengonversi argumen lain ke tipe data tersebut, dan mengembalikan tipe data tersebut.
Jadi pernyataan berikut akan berhasil
pilih nvl(num-col ,10) dari
pilih nvl(char-col ,'NA') dari pilih nvl(end_date,'01-MAY-18') dari
Pernyataan berikut akan melakukan konversi implisit
pilih nvl(char-col ,1) dari
Pernyataan berikut akan gagal
pilih nvl(end_date,'m/a') dari
pilih nvl(user_id,'abc') dari Cara menggunakan fungsi NVL()
Fungsi ini sangat berguna jika kita tidak ingin mengembalikan nilai null atau dalam perhitungan numerik karena null akan mengubah seluruh nilai menjadi null
Ayo ambil contoh untuk memahaminya
Kami memiliki tabel sales_people yang berisi penjualan yang dilakukan oleh tenaga penjualan, komisi % atas penjualan, gaji orang. Kami ingin menghitung total pendapatan bulanan untuk tenaga penjualan. Penjualan dapat memiliki nilai nol
Pernyataannya adalah
pilih nama,(gaji + penjualan*komisi/100) Pendapatan_bulan dari staf_penjualan;
Ini akan mengembalikan nilai nol dari semua orang yang belum melakukan penjualan apa pun dalam periode tersebut karena perhitungan akan memiliki nilai nol
Ini dapat diperbaiki dengan menggunakan fungsi nvl sebagai
pilih nama,(gaji + nvl(penjualan,0)*komisi/100) Pendapatan_bulanan dari tenaga penjualan;
Jadi jelas sangat membantu saat melakukan operasi Matematika. Fungsi NVL di Oracle adalah fungsi yang cukup berguna dan dapat digunakan di banyak tempat
Juga Dibaca
fungsi tanggal sql oracle
fungsi NULLIF di Oracle
Perbarui pernyataan di oracle
Fungsi Gabungan di Oracle
ubah format tanggal di oracle
https://docs .oracle.com/cd/B19306_01/server.102/b14200/functions105.htm