sql >> Databasteknik >  >> RDS >> Oracle

NVL() Funktion i Oracle

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.


  1. Användarkontohantering, roller, behörigheter, autentisering PHP och MySQL -- Del 5

  2. Ändra kolumntyp och ange inte null

  3. Åtgärder att ta om du har ett MySQL-avbrott

  4. Hur man beräknar skillnaden mellan två datumtider i T-SQL