sql >> Databáze >  >> RDS >> Oracle

Funkce NVL() v Oracle

V databázi Oracle je to NVL() Funkce nám umožňuje nahradit hodnoty null jinou hodnotou.

Syntaxe

Syntaxe vypadá takto:

NVL(expr1, expr2)

Pokud expr1 je null, pak expr2 je vrácen. Jinak expr1 je vráceno.

Příklad

Zde je příklad k demonstraci:

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

Výsledek:

Fish

A zde je to, co se stane, když je prvním argumentem nenulová hodnota:

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

Výsledek:

Brocoli

Neplatný počet argumentů

Volání funkce bez předání jakýchkoli argumentů má za následek chybu:

SELECT NVL()
FROM DUAL;

Výsledek:

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

A předání příliš mnoha argumentů také způsobí chybu:

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

Výsledek:

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

NVL2() Funkce

Alternativně můžete použít NVL2() funkce, která umožňuje zadat jinou hodnotu, která se má vrátit v případě, že první argument není nulový.


  1. Vývoj odolnosti vůči chybám v PostgreSQL:Synchronní závazek

  2. Jak skrýt dekoraci sady výsledků ve výstupu Psql

  3. Použití pseudosloupců s propojeným serverem

  4. PLS-00103:Setkal se se symbolem CREATE