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

Cara menggunakan fungsi NVL() di Oracle

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendefinisikan Kunci Utama Peningkatan Otomatis di Oracle

  2. Oracle Instant Client untuk perangkat Debian berbasis ARM

  3. RAWTOHEX() Fungsi di Oracle

  4. Kembalikan hasil kueri sql sebagai JSON di Oracle 12c

  5. Oracle SQL:Perbarui tabel dengan data dari tabel lain