I Oracle Database, NVL() funktionen tillåter oss att ersätta nollvärden med ett annat värde.
Syntax
Syntaxen ser ut så här:
NVL(expr1, expr2)
Om expr1 är null, sedan expr2 returneras. Annars expr1 returneras.
Exempel
Här är ett exempel att visa:
SELECT NVL(null, 'Fish')
FROM DUAL; Resultat:
Fish
Och här är vad som händer när det första argumentet är ett icke-nullvärde:
SELECT NVL('Brocoli', 'Fish')
FROM DUAL; Resultat:
Brocoli
Ogiltigt antal argument
Att anropa funktionen utan att skicka några argument resulterar i ett fel:
SELECT NVL()
FROM DUAL; Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Och att skicka för många argument orsakar också ett fel:
SELECT NVL(1, 2, 3)
FROM DUAL; Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
NVL2() Funktion
Du kan alternativt använda NVL2() funktion, som låter dig ange ett annat värde att returnera om det första argumentet inte är null.