Резюме :в този урок ще научите как да използвате SQLite IS NULL и IS NOT NULL оператори, за да проверят дали дадена стойност е NULL или не.
Въведение в SQLite IS NULL оператор
NULL е специален. Показва, че част от информацията е неизвестна или неприложима.
Например някои песни може да нямат информация за автора на песни, защото не знаем кой ги е написал.
За да съхраняваме тези неизвестни автори на песни заедно с песните в таблица на база данни, трябва да използваме NULL.
NULL не е равно на нищо, дори на числото нула, празен низ и т.н.
Особено NULL не е равно на себе си. Следният израз връща 0:
NULL = NULL
Code language: SQL (Structured Query Language) (sql) Това е така, защото две неизвестни информация не могат да бъдат сравними.
Нека видим следните tracks таблица от примерната база данни:
Следното изявление се опитва да намери песни, чиито композитори са NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
Code language: SQL (Structured Query Language) (sql) Връща празен ред, без да издава допълнително съобщение.
Това е така, защото следният израз винаги се оценява на false:
Composer = NULL
Code language: SQL (Structured Query Language) (sql) Не е валидно да се използва NULL по този начин.
За да проверите дали дадена стойност е NULL или не, използвате IS NULL вместо оператор:
{ column | expression } IS NULL;
Code language: SQL (Structured Query Language) (sql)
IS NULL операторът връща 1, ако column или expression оценява на NULL.
За да намерите всички песни, чиито композитори са неизвестни, използвате IS NULL оператор, както е показано в следната заявка:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql) Ето частичния изход:
SQLite IS NOT NULL оператор
NOT операторът отрича IS NULL оператор, както следва:
expression | column IS NOT NULL
Code language: SQL (Structured Query Language) (sql)
IS NOT NULL операторът връща 1, ако expression или column не е NULL и 0, ако изразът или колоната са NULL.
Следният пример намира tracks чиито композитори не са NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
Code language: SQL (Structured Query Language) (sql) Тази снимка илюстрира частичния изход:
В този урок научихте как да проверите дали стойностите в колона или израз са NULL или не, като използвате IS NULL и IS NOT NULL оператори.