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.