Wartości NULL reprezentują brakuje nieznane dane.
Domyślnie kolumna tabeli może zawierać wartości NULL.
Ten rozdział wyjaśni IS NULL i IS NOT NULL operatorzy.
Wartości NULL SQL
Jeśli kolumna w tabeli jest opcjonalna, możemy wstawić nowy rekord lub zaktualizować istniejący rekord bez dodawania wartości do tej kolumny. Oznacza to, że pole zostanie zapisany z wartością NULL.
Wartości NULL są traktowane inaczej niż inne wartości.
NULL służy jako miejsce dla nieznanych lub nie ma zastosowania wartości.
Uwaga: Nie jest możliwe porównanie NULL i 0;nie są równoważne.
SQL Praca z wartości null
Spójrz na poniższy "Persons" tabela:
p_id | Nazwisko | Pierwsze imię | Adres | Miasto |
---|---|---|---|---|
1 | Hansen | Ola | Sandnes | |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Stavanger |
Załóżmy, że "Address" kolumna "Persons" tabela jest opcjonalne. Oznacza to, że jeśli mamy wstawić rekord bez wartości dla "Address" kolumnie, "Address" kolumna zostanie zapisany z wartością NULL.
Jak możemy przetestować dla wartości NULL?
Nie jest możliwe do testowania wartości NULL operatorami porównawczych, takich jak = <, a <> .
Będziemy musieli użyć IS NULL i IS NOT NULL zamiast operatorów.
SQL IS NULL
W jaki sposób możemy wybrać tylko te rekordy z wartościami NULL w "Address" kolumny?
Będziemy musieli użyć operatora is NULL:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
Wynik-set będzie wyglądać następująco:
Nazwisko | Pierwsze imię | Adres |
---|---|---|
Hansen | Ola | |
Pettersen | Kari |
Wskazówka: Zawsze używaj IS NULL szukać wartości NULL.
SQL nie jest NULL
W jaki sposób możemy wybrać tylko te rekordy bez wartości NULL w "Address" kolumny?
Będziemy musieli użyć IS NOT NULL operatora:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
Wynik-set będzie wyglądać następująco:
Nazwisko | Pierwsze imię | Adres |
---|---|---|
Svendson | Tove | Borgvn 23 |
W następnym rozdziale przyjrzymy się ISNULL() , NVL() , IFNULL() i COALESCE() funkcji.