SQL Значения NULL
Значения NULL представляют отсутствующие неизвестные данные.
По умолчанию столбец таблицы может содержать значения NULL.
В этой главе объясняются операторы IS NULL и IS NOT NULL.
Значения NULL в SQL
Если столбец в таблице является необязательным, мы можем вставить новую запись или обновить существующую запись, не добавляя значение в этот столбец. Это означает, что поле будет сохранено со значением NULL.
Значения NULL обрабатываются иначе, чем другие значения.
NULL используется как заполнитель для неизвестных или неприменимых значений.
Примечание:NULL нельзя сравнивать с 0; они не эквивалентны.
Обработка значений NULL в SQL
Посмотрите на следующую таблицу "Persons":
| P_Id | LastName | FirstName | Адрес | Город |
|---|---|---|---|---|
| 1 | Hansen | Ola | Sandnes | |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Кари | Ставангер |
Предположим, что столбец "Address" в таблице "Persons" является необязательным. Это означает, что если вы вставите запись без значения для столбца "Address", столбец "Address" будет сохранен со значением NULL.
Итак, как нам проверить значения NULL?
Невозможно проверить значения NULL с помощью операторов сравнения, таких как =, <, или <>.
Мы должны использовать операторы IS NULL и IS NOT NULL.
SQL IS NULL
Как выбрать только те записи, которые имеют значение NULL в столбце "Address"?
Мы должны использовать оператор IS NULL:
WHERE Address IS NULL
Результирующий набор выглядит так:
| LastName | FirstName | Адрес |
|---|---|---|
| Hansen | Ola | |
| Pettersen | Кари |
Совет:Всегда используйте IS NULL для поиска значений NULL.
SQL IS NOT NULL
Как выбрать только записи, у которых нет значения NULL в столбце "Address"?
Мы должны использовать оператор IS NOT NULL:
WHERE Address IS NOT NULL
Результирующий набор выглядит так:
| LastName | FirstName | Адрес |
|---|---|---|
| Svendson | Tove | Borgvn 23 |
В следующем разделе мы узнаем о функциях ISNULL(), NVL(), IFNULL() и COALESCE().
Другие расширения