Oracle
 sql >> Database >  >> RDS >> Oracle

Funzione NVL() in Oracle

In Oracle Database, il NVL() la funzione ci consente di sostituire i valori nulli con un altro valore.

Sintassi

La sintassi è questa:

NVL(expr1, expr2)

Se expr1 è null, quindi expr2 viene restituito. Altrimenti expr1 viene restituito.

Esempio

Ecco un esempio da dimostrare:

SELECT NVL(null, 'Fish')
FROM DUAL;

Risultato:

Fish

Ed ecco cosa succede quando il primo argomento è un valore non null:

SELECT NVL('Brocoli', 'Fish')
FROM DUAL;

Risultato:

Brocoli

Conteggio argomenti non valido

La chiamata della funzione senza passare alcun argomento genera un errore:

SELECT NVL()
FROM DUAL;

Risultato:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

E anche passare troppi argomenti provoca un errore:

SELECT NVL(1, 2, 3)
FROM DUAL;

Risultato:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Il NVL2() Funzione

In alternativa puoi usare NVL2() funzione, che consente di specificare un valore diverso da restituire nel caso in cui il primo argomento non sia nullo.