Wartość NULL w SQL

Wartości NULL są brakującymi, nieznajomymi danymi.

Domyślnie, kolumny tabel mogą przechowywać wartości NULL.

Rozdział ten omawia operatory IS NULL i IS NOT NULL.

Wartość NULL w SQL

Jeśli pewna kolumna w tabeli jest opcjonalna, możemy wstawiać nowe rekordy lub aktualizować istniejące bez dodawania wartości do tej kolumny. Oznacza to, że pole będzie przechowywać wartość NULL.

Przetwarzanie wartości NULL jest inne niż przetwarzanie innych wartości.

NULL jest używany jako zamiennik dla nieznanych lub niewłaściwych wartości.

Uwaga:Nie można porównać NULL z 0; one są nierówne.

Przetwarzanie wartości NULL w SQL

Spójrzmy na poniższą tabelę "Persons":

Id Nazwisko Imię Adres Miasto
1 Adams John   Londyn
2 Bush George Piąta Aleja Nowy Jork
3 Carter Thomas   Pekin

Załóżmy, że kolumna "Adres" w tabeli "Persons" jest opcjonalna. Oznacza to, że jeśli w kolumnie "Adres" wstawimy rekord bez wartości, kolumna "Adres" będzie używała wartości NULL do zapisu.

Jak więc możemy przetestować wartości NULL?

Nie można używać operatorów porównawczych do testowania wartości NULL, takich jak =, <, lub <>.

Musimy użyć operatorów IS NULL i IS NOT NULL.

IS NULL w SQL

Jak możemy wybrać rekordy, które w kolumnie "Adres" mają wartość NULL?

Musimy użyć operatora IS NULL:

SELECT Nazwisko,Imię,Adres FROM Persons
WHERE Adres IS NULL

Zbiór wyników:

Nazwisko Imię Adres
Adams John  
Carter Thomas  

Wskazówka:Zawsze używaj IS NULL, aby znaleźć wartości NULL.

IS NOT NULL w SQL

Jak możemy wybrać rekordy, które w kolumnie "Adres" nie mają wartości NULL?

Musimy użyć operatora IS NOT NULL:

SELECT Nazwisko,Imię,Adres FROM Persons
WHERE Adres IS NOT NULL

Zbiór wyników:

Nazwisko Imię Adres
Bush George Piąta Aleja

W następnym rozdziale dowiemy się o funkcjach ISNULL(), NVL(), IFNULL() i COALESCE().