Eliminacja wartości null w SQL Oracle jest jedną z najważniejszych funkcji relacyjnej bazy danych. Wartość null oznacza wartość nieokreśloną, brakująca lub nieznana. Wartość null jest wartością inną od zera i ciągu pustego (" ") oraz wszelkich konkretnych wartości liczbowych. Wartość zastępcza musi być tego samego typu, co typ danych w kolumnie.
Cechą charakterystyczną wartości null jest to , że dowolne wyrażenie, w którym występuje wartość null, również przybierze wartość null.
SQL umożliwia podstawienie w miejsce wartości null dowolnie wybraną, określoną wartość. Używa się do tego klauzuli NVL.
Skorzystamy z tabeli EMPLOYEES z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
W kolumnie COMMISSION_PCT znajduje się prowizja niektórzy pracownicy mają w tej kolumnie wartości null. Eliminacja wartości null w SQL Oracle polega na zastosowaniu klauzuli NVL.
SELECT FIRST_NAME, LAST_NAME, SALARY,
NVL(COMMISSION_PCT, 0)
FROM EMPLOYEES;
Uzyskujemy następującą tabelę wynikową:
Klauzula NVL może być użyta bezpośrednio do obliczeń arytmetycznych:
SELECT FIRST_NAME, LAST_NAME, SALARY,
NVL(COMMISSION_PCT, 0),
NVL(COMMISSION_PCT, 0)*SALARY AS Prowizja
FROM EMPLOYEES;
Eliminacja wartości null w SQL Oracle prowadzi do wartości zerwo w tabeli wynikowej: