Oversigt :i denne øvelse vil du lære, hvordan du bruger SQLite IS NULL
og IS NOT NULL
operatorer for at kontrollere, om en værdi er NULL eller ej.
Introduktion til SQLite IS NULL
operatør
NULL
er speciel. Det angiver, at en oplysning er ukendt eller ikke anvendelig.
For eksempel kan nogle sange ikke have sangskriveroplysningerne, fordi vi ikke ved, hvem der har skrevet dem.
For at gemme disse ukendte sangskrivere sammen med sangene i en databasetabel skal vi bruge NULL.
NULL er ikke lig med noget, selv tallet nul, en tom streng og så videre.
Især NULL er ikke lig med sig selv. Følgende udtryk returnerer 0:
NULL = NULL
Kodesprog:SQL (Structured Query Language) (sql)
Dette skyldes, at to ukendte oplysninger ikke kan sammenlignes.
Lad os se følgende tracks
tabel fra eksempeldatabasen:
Følgende sætning forsøger at finde spor, hvis komponister er NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
Kodesprog:SQL (Structured Query Language) (sql)
Det returnerer en tom række uden at afgive yderligere besked.
Dette skyldes, at følgende udtryk altid evalueres til falsk:
Composer = NULL
Kodesprog:SQL (Structured Query Language) (sql)
Det er ikke gyldigt at bruge NULL på denne måde.
For at kontrollere om en værdi er NULL eller ej, bruger du IS NULL
operatør i stedet:
{ column | expression } IS NULL;
Kodesprog:SQL (Structured Query Language) (sql)
IS NULL
operator returnerer 1 hvis column
eller expression
evalueres til NULL.
For at finde alle spor, hvis komponister er ukendte, bruger du IS NULL
operator som vist i følgende forespørgsel:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
Kodesprog:SQL (Structured Query Language) (sql)
Her er det delvise output:
SQLite IS NOT NULL
operatør
NOT
operator negerer IS NULL
operatør som følger:
expression | column IS NOT NULL
Kodesprog:SQL (Structured Query Language) (sql)
IS NOT NULL
operator returnerer 1 hvis expression
eller column
er ikke NULL, og 0, hvis udtrykket eller kolonnen er NULL.
Følgende eksempel finder tracks
hvis komponister ikke er NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
Kodesprog:SQL (Structured Query Language) (sql)
Dette billede illustrerer det delvise output:
I denne øvelse har du lært, hvordan du kontrollerer, om værdier i en kolonne eller et udtryk er NULL eller ej ved at bruge IS NULL
og IS NOT NULL
operatører.