SQL Значения NULL


Значения NULL представляют отсутствующие неизвестные данные.

По умолчанию столбец таблицы может содержать значения NULL.

В этой главе объясняются операторы IS NULL и IS NOT NULL.


Значения NULL в SQL

Если столбец в таблице является необязательным, мы можем вставить новую запись или обновить существующую запись, не добавляя значение в этот столбец. Это означает, что поле будет сохранено со значением NULL.

Значения NULL обрабатываются иначе, чем другие значения.

NULL используется как заполнитель для неизвестных или неприменимых значений.

NoteПримечание: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:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

Результирующий набор выглядит так:

LastName FirstName Адрес
Hansen Ola
Pettersen Кари

NoteСовет:Всегда используйте IS NULL для поиска значений NULL.


SQL IS NOT NULL

Как выбрать только записи, у которых нет значения NULL в столбце "Address"?

Мы должны использовать оператор IS NOT NULL:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

Результирующий набор выглядит так:

LastName FirstName Адрес
Svendson Tove Borgvn 23

В следующем разделе мы узнаем о функциях ISNULL(), NVL(), IFNULL() и COALESCE().


Другие расширения