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