6_SQL. Eliminacja wartości null w SQL Oracle

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: