Di Oracle Database, NVL()
fungsi memungkinkan kita untuk mengganti nilai nol dengan nilai lain.
Sintaks
Sintaksnya seperti ini:
NVL(expr1, expr2)
Jika expr1
adalah nol, maka expr2
dikembalikan. Jika tidak expr1
dikembalikan.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT NVL(null, 'Fish')
FROM DUAL;
Hasil:
Fish
Dan inilah yang terjadi ketika argumen pertama adalah nilai bukan nol:
SELECT NVL('Brocoli', 'Fish')
FROM DUAL;
Hasil:
Brocoli
Jumlah Argumen Tidak Valid
Memanggil fungsi tanpa meneruskan argumen apa pun menghasilkan kesalahan:
SELECT NVL()
FROM DUAL;
Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Dan memberikan terlalu banyak argumen juga menyebabkan kesalahan:
SELECT NVL(1, 2, 3)
FROM DUAL;
Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
NVL2()
Fungsi
Sebagai alternatif, Anda dapat menggunakan NVL2()
fungsi, yang memungkinkan Anda menentukan nilai yang berbeda untuk dikembalikan jika argumen pertama bukan null.