NULL в базах данных (СУБД) — специальное значение (псевдозначение), которое означает отсутствие или неизвестность информации. 1 Оно введено, чтобы различать в полях БД пустые значения (например, строку нулевой длины) и отсутствующие значения (когда в поле не записано вообще никакого значения, даже пустого). 1
Некоторые особенности работы NULL:
- Сравнение с NULL. 14 При сравнении NULL с любым значением, даже с использованием операторов «=», «<>», «<», «>», результатом будет не TRUE или FALSE, а значение «неизвестность» (UNKNOWN). 14
- Обработка NULL в выражениях. 4 При выполнении арифметических или других операций с нулевыми значениями результатом обычно становится NULL. 4
- Агрегирование нулевых значений. 4 Большинство агрегатных функций в SQL, таких как SUM, AVG, COUNT и т. д., игнорируют нулевые значения при вычислении результатов. 4 Однако существуют некоторые агрегатные функции, которые учитывают нулевые значения. 4
- Индексация и NULL. 4 Некоторые системы баз данных по-разному обрабатывают значения NULL при индексации. 4 Чтобы понять, как обрабатываются значения NULL в структурах индексов, нужно ознакомиться с конкретной документацией системы управления базами данных. 4
Как правило, СУБД не разрешает значение NULL для полей, являющихся частью первичного ключа таблицы. 1 В полях внешних ключей, напротив, NULL допускается. 1