Резюме :в този урок ще научите как да използвате 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
оператори.