Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja NVL() w Oracle

W bazie danych Oracle NVL() funkcja pozwala nam zastąpić wartości null inną wartością.

Składnia

Składnia wygląda tak:

NVL(expr1, expr2)

Jeśli expr1 ma wartość null, to expr2 jest zwracany. W przeciwnym razie expr1 jest zwracany.

Przykład

Oto przykład do zademonstrowania:

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

Wynik:

Fish

A oto, co się dzieje, gdy pierwszy argument jest wartością inną niż null:

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

Wynik:

Brocoli

Nieprawidłowa liczba argumentów

Wywołanie funkcji bez przekazywania jakichkolwiek argumentów skutkuje błędem:

SELECT NVL()
FROM DUAL;

Wynik:

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

Przekazywanie zbyt wielu argumentów również powoduje błąd:

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

Wynik:

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

NVL2() Funkcja

Możesz alternatywnie użyć NVL2() funkcja, która pozwala określić inną wartość do zwrócenia w przypadku, gdy pierwszy argument nie jest pusty.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 27 skryptów Oracle dba dla bazy danych Oracle dla administracji i monitorowania

  2. Napraw błąd „ORA-01790:wyrażenie musi mieć ten sam typ danych co odpowiadające wyrażenie”

  3. Zapytanie SQL w celu zwinięcia zduplikowanych wartości według zakresu dat

  4. LISTAGG Query ORA-00937:nie jest to funkcja pojedynczej grupy

  5. Erlang i jego zużycie pamięci sterty