Shrnutí :v tomto tutoriálu se naučíte používat SQLite IS NULL
a IS NOT NULL
operátory pro kontrolu, zda je hodnota NULL nebo ne.
Úvod do SQLite IS NULL
operátor
NULL
je speciální. Označuje, že určitá informace je neznámá nebo nepoužitelná.
Některé skladby například nemusí mít informace o autorovi, protože nevíme, kdo je napsal.
K uložení těchto neznámých autorů písní spolu se skladbami do databázové tabulky musíme použít hodnotu NULL.
NULL se nerovná ničemu, dokonce ani číslu nula, prázdnému řetězci a tak dále.
Zejména NULL se nerovná sama sobě. Následující výraz vrátí 0:
NULL = NULL
Code language: SQL (Structured Query Language) (sql)
Je to proto, že dvě neznámé informace nelze srovnávat.
Podívejme se na následující tracks
tabulka z ukázkové databáze:
Následující příkaz se pokouší najít skladby, jejichž skladatelé mají hodnotu NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
Code language: SQL (Structured Query Language) (sql)
Vrátí prázdný řádek bez vydání jakékoli další zprávy.
Důvodem je, že následující výraz je vždy vyhodnocen jako nepravda:
Composer = NULL
Code language: SQL (Structured Query Language) (sql)
Použití NULL tímto způsobem není platné.
Chcete-li zkontrolovat, zda je hodnota NULL nebo ne, použijte IS NULL
operátor místo toho:
{ column | expression } IS NULL;
Code language: SQL (Structured Query Language) (sql)
IS NULL
operátor vrátí 1, pokud column
nebo expression
vyhodnotí jako NULL.
Chcete-li najít všechny skladby, jejichž skladatel není znám, použijte IS NULL
operátor, jak je znázorněno v následujícím dotazu:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql)
Zde je částečný výstup:
SQLite IS NOT NULL
operátor
NOT
operátor neguje IS NULL
operátor takto:
expression | column IS NOT NULL
Code language: SQL (Structured Query Language) (sql)
IS NOT NULL
operátor vrátí 1, pokud expression
nebo column
není NULL a 0, pokud je výraz nebo sloupec NULL.
Následující příklad vyhledá tracks
jehož skladatelé nejsou NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql)
Tento obrázek ilustruje částečný výstup:
V tomto tutoriálu jste se naučili, jak zkontrolovat, zda hodnoty ve sloupci nebo výrazu jsou NULL nebo ne, pomocí IS NULL
a IS NOT NULL
operátory.