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.