Wartość NULL w SQL
- Poprzednia strona Data SQL
- Następna strona isnull() 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().
- Poprzednia strona Data SQL
- Następna strona isnull() w SQL