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.