Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite IS NULL
i IS NOT NULL
operatorów, aby sprawdzić, czy wartość jest NULL, czy nie.
Wprowadzenie do SQLite IS NULL
operator
NULL
jest wyjątkowy. Wskazuje, że informacja jest nieznana lub nie ma zastosowania.
Na przykład niektóre utwory mogą nie zawierać informacji o autorze piosenek, ponieważ nie wiemy, kto je napisał.
Aby przechowywać tych nieznanych autorów piosenek wraz z utworami w tabeli bazy danych, musimy użyć wartości NULL.
NULL nie jest równe niczemu, nawet liczbie zero, pustym łańcuchu i tak dalej.
W szczególności NULL nie jest sobie równy. Następujące wyrażenie zwraca 0:
NULL = NULL
Code language: SQL (Structured Query Language) (sql)
Dzieje się tak, ponieważ dwie nieznane informacje nie mogą być porównywalne.
Zobaczmy następujące tracks
tabela z przykładowej bazy danych:
Poniższe stwierdzenie próbuje znaleźć utwory, których kompozytorzy mają wartość NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
Code language: SQL (Structured Query Language) (sql)
Zwraca pusty wiersz bez wysyłania dodatkowej wiadomości.
Dzieje się tak, ponieważ następujące wyrażenie zawsze ma wartość false:
Composer = NULL
Code language: SQL (Structured Query Language) (sql)
Używanie w ten sposób wartości NULL jest nieważne.
Aby sprawdzić, czy wartość jest NULL, czy nie, użyj IS NULL
operator zamiast:
{ column | expression } IS NULL;
Code language: SQL (Structured Query Language) (sql)
IS NULL
operator zwraca 1, jeśli column
lub expression
ocenia na NULL.
Aby znaleźć wszystkie utwory, których kompozytorzy są nieznani, użyj IS NULL
operator, jak pokazano w następującym zapytaniu:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql)
Oto częściowe wyjście:
SQLite IS NOT NULL
operator
NOT
operator neguje IS NULL
operatora w następujący sposób:
expression | column IS NOT NULL
Code language: SQL (Structured Query Language) (sql)
IS NOT NULL
operator zwraca 1, jeśli expression
lub column
nie ma wartości NULL, a 0, jeśli wyrażenie lub kolumna ma wartość NULL.
Poniższy przykład wyszukuje tracks
których kompozytorzy nie mają wartości NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql)
Ten obraz ilustruje częściowe wyjście:
W tym samouczku nauczyłeś się, jak sprawdzić, czy wartości w kolumnie lub wyrażeniu mają wartość NULL, czy nie, używając IS NULL
i IS NOT NULL
operatorów.