В мире баз данных вы часто будете сталкиваться с ситуациями, когда данные отсутствуют, неизвестны или неприменимы. SQL использует специальный маркер под названием NULL для представления таких случаев. Понимание NULL критически важно, так как он ведет себя иначе, чем любое другое значение.
NULL - это не значение; это состояние или заполнитель, указывающий на то, что значение данных не существует в базе данных.
Важно помнить, чем NULL НЕ является:
Поскольку NULL представляет собой неизвестное состояние, вы не можете использовать с ним стандартные операторы сравнения, такие как = или <>. Любое сравнение с NULL (например, value = NULL) приведет к результату «неизвестно», а не «истина» или «ложь».
Для проверки значений на NULL необходимо использовать специальные операторы:
Используется для поиска записей, в которых столбец не имеет значения.
SELECT *
FROM address
WHERE address2 IS NULL;
Используется для поиска записей, в которых столбец содержит хотя бы какие-то данные.
SELECT *
FROM address
WHERE address2 IS NOT NULL;
Одна из самых важных вещей, которую нужно помнить - NULL распространяется. Если вы выполняете математическую операцию со значением NULL, результатом всегда будет NULL.
10 + NULL = NULL5 * NULL = NULL'Привет, ' + NULL = NULL= или <>) не работают с NULL.