I Oracle Database er NVL()
funktion giver os mulighed for at erstatte null-værdier med en anden værdi.
Syntaks
Syntaksen ser sådan ud:
NVL(expr1, expr2)
Hvis expr1
er null, derefter expr2
er returneret. Ellers expr1
er returneret.
Eksempel
Her er et eksempel til demonstration:
SELECT NVL(null, 'Fish')
FROM DUAL;
Resultat:
Fish
Og her er, hvad der sker, når det første argument er en ikke-nul værdi:
SELECT NVL('Brocoli', 'Fish')
FROM DUAL;
Resultat:
Brocoli
Ugyldigt argumentantal
Kaldning af funktionen uden at sende nogen argumenter resulterer i en fejl:
SELECT NVL()
FROM DUAL;
Resultat:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Og at sende for mange argumenter medfører også en fejl:
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 bruge NVL2()
funktion, som giver dig mulighed for at angive en anden værdi, der skal returneres i tilfælde af, at det første argument ikke er null.