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

NVL() Funktion i Oracle

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.


  1. MySQL i 2018:Hvad er i 8.0 og andre observationer

  2. 4 grunde til at du bør prioritere databaseovervågning i din 2020-planlægning

  3. Sådan bruges et Oracle Associative Array i en SQL-forespørgsel

  4. Oracle SQL-udvikler:Vis REFCURSOR-resultater i gitter?