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.