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.