sql >> Database >  >> RDS >> Oracle

NVL()-functie in Oracle

In Oracle Database, de NVL() functie stelt ons in staat om null-waarden te vervangen door een andere waarde.

Syntaxis

De syntaxis gaat als volgt:

NVL(expr1, expr2)

Als expr1 is null, dan expr2 wordt teruggestuurd. Anders expr1 wordt geretourneerd.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT NVL(null, 'Fish')
FROM DUAL;

Resultaat:

Fish

En dit is wat er gebeurt als het eerste argument een niet-null-waarde is:

SELECT NVL('Brocoli', 'Fish')
FROM DUAL;

Resultaat:

Brocoli

Ongeldig aantal argumenten

Het aanroepen van de functie zonder het doorgeven van argumenten resulteert in een fout:

SELECT NVL()
FROM DUAL;

Resultaat:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

En het doorgeven van te veel argumenten veroorzaakt ook een fout:

SELECT NVL(1, 2, 3)
FROM DUAL;

Resultaat:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

De NVL2() Functie

U kunt ook de NVL2() . gebruiken functie, waarmee u een andere waarde kunt opgeven die moet worden geretourneerd in het geval dat het eerste argument niet null is.


  1. Postgres gebruikt geen index wanneer indexscan een veel betere optie is

  2. Hoe ORA-00900 op te lossen?

  3. Veranderingen in de Oracle-interface

  4. SQL Server Failover Cluster Installatie -3