Фраза null в операторе create table указывает, что специальное значение, называемое null (которое обычно представляет неизвестное или неприменимое значение), допустимо для описываемого столбца. Такие значения отличаются от всех других значений в базе данных. Предложение where в операторе select обычно позволяет вернуть строки, для которых сравнение в результате дает истину. Вопрос при рассмотрении запросов заключается в том, как сравнения, содержащие значения null, должны быть вычислены в предложении where?
Все сравнения со значениями null вернут значение «ложь» (даже если им предшествует отрицание not). Для поиска строк со значениями в столбцах null язык Transact-SQL включает в себя оператор is null. Эта спецификация в предложении where оператора select имеет следующую общую форму:
столбец is [not] null
Пример 6.14 демонстрирует использование оператора is null.
Поскольку все сравнения, содержащие значения null, возвращают значение «ложь», в примере 6.15 показано синтаксически корректное, но логически неверное использование null.
Системная функция isnullo позволяет отобразить заданное в ней значение в качестве замены значения null (пример 6.16).
В примере 6.16 используется заголовок столбца с именем task для столбца job.