Предикат IS [NOT] NULL

Предикат IS [NOT] NULL

IS NULL и его противоположность IS NOT NULL являются парой предикатов, которые не используют группирование. Поскольку NULL не является значением, эти операторы не являются операторами сравнения. Они проверяют утверждение, что объект в левой части имеет значение (IS NOT NULL) или не имеет значения (IS NULL).

Если значение имеется, то IS NOT NULL возвращает истину независимо от содержимого, размера или типа данных значения.

Новички в SQL иногда путают ограничение NOT NULL с предикатами is [NOT] NULL. Общая ошибка считать, что IS NULL и IS NOT NULL проверяют, был ли определен столбец с ограничением NOT NULL. Это не так. Они тестируют текущее содержимое столбца на наличие или отсутствие значения.

Предикат is [NOT] NULL может быть использован для проверки входных данных, помещаемых в столбцы таблиц базы данных, имеющих ограничения NOT NULL. Обычно эти предикаты применяются в триггерах BEFORE INSERT (до добавления).

Более подробную информацию о NULL см. В разд. "Рассмотрение NULL".

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Запрет на null-сессию

Из книги автора

Запрет на null-сессию Для запрета null-сессии, которая позволяет другому пользователю, получить информацию о зашаренных (доступных для общего пользования) директориях и об имеющихся на компьютере локальных пользователях, установите параметр типа DWORD °RestrictAnonymous° равным 1 в


Проверка попадания в диапазон. Предикат BETWEEN.

Из книги автора

Проверка попадания в диапазон. Предикат BETWEEN. Предикат BETWEEN проверяет, попадают ли значения проверяемого выражения в диапазон, задаваемый пограничными выражениями, соединяемыми служебным словом AND. Естественно, как и для предиката сравнения, выражения в предикате BETWEEN


Проверка отсутствия/наличия значения. Предикат IS NULL

Из книги автора

Проверка отсутствия/наличия значения. Предикат IS NULL ПредикатIS [NOT] NULLпозволяет проверить отсутствие (наличие) значения в полях таблицы. Использование в этих случаях обычных предикатов сравнения может привести к неверным результатам, т.к. сравнение со значением NULL дает


1. Обработка обращения к NULL.

Из книги автора

1. Обработка обращения к NULL. Заменяем реализацию оператора -› на:T* operator-›() { if (!tObj) {  cerr ‹‹ "NULL";  tObj = new T; } return tObj;}илиT* operator-›() { if (!tObj) throw CError; return tObj;};Здесь CError класс исключения. Или втыкаем статический экземпляр-шпион.private: T* tObj; // Это было; static T* spy; // Это добавленоНу и сам


6.5.1. /dev/null

Из книги автора

6.5.1. /dev/null Устройство /dev/null служит двум целям.? Linux удаляет любые данные, направляемые в устройство /dev/null. В тех случаях, когда выводные данные программы не нужны, в качестве выходного файла назначают устройство /dev/null, например:% verbose_command > /dev/null? При чтении из устройства


Атрибут NOT NULL

Из книги автора

Атрибут NOT NULL Включите этот атрибут в описание домена, если вы хотите, чтобы все столбцы, создаваемые на основе этого домена, имели непустое значение.NULL - который является не значением, а состоянием, - всегда будет недопустимым для любого столбца, имеющего атрибут NOT NULL.


Ограничение NOT NULL

Из книги автора

Ограничение NOT NULL Firebird не поддерживает атрибут указания допустимости пустого значения, как это делают некоторые нестандартные СУБД. В соответствии со стандартами все столбцы в Firebird могут содержать пустое значение, если не будет явно указано ограничение NOT NULL.


Обсуждение NULL

Из книги автора

Обсуждение NULL NULL может оказаться довольно сложным для людей, ранее работавших с настольными базами данных, которые просто использовали NULL для хранения "нулевых значений": пустая строка, ноль для чисел, ложь для логических столбцов и т.д. В SQL любой элемент данных в столбце,


NULL в выражениях

Из книги автора

NULL в выражениях NULL не является значением, следовательно, он не может быть "равным" какому-либо значению. Например, воз такой предикатWHERE (COL1 = NULL)вернет ошибку, потому что оператор равенства не является действительным для NULL, NULL является состоянием, и правильным предикатом


NULL в вычислениях

Из книги автора

NULL в вычислениях В выражении пустой операнд даст результат вычисления NULL. Например, следующий операторUPDATE TABLEASET COL4 = COL4 + C0L5;присвоит столбцу COL4 значение NULL, если значением COL5 является NULL.В агрегатном (обобщающем) выражении, использующем операторы типа SUMO, AVG() или COUNT (<ИМЯ


NULL и внешние функции (UDF)

Из книги автора

NULL и внешние функции (UDF) NULL не может передавать в виде входа или выхода функции в большинстве библиотек внешних функций, потому что они следуют соглашению InterBase о передаче аргументов по ссылке или по значению. Большинство доступных библиотек UDF используют это соглашение


Установка значения в NULL

Из книги автора

Установка значения в NULL Элемент данных может быть сделан NULL только в столбце, для которого не указано ограничение NOT NULL (СМ. разд. "Ограничение NOT NULL" главы 16).В операторе UPDATE символом назначения является "=":UPDATE FOO SET COL3 = NULLWHERE COL2 = 4;В операторе INSERT передавайте ключевое слово NULL


Глава 28. /dev/zero и /dev/null

Из книги автора

Глава 28. /dev/zero и /dev/null /dev/nullПсевдоустройство /dev/null -- это, своего рода, "черная дыра" в системе. Это, пожалуй, самый близкий смысловой эквивалент. Все, что записывается в этот файл, "исчезает" навсегда. Попытки записи или чтения из этого файла не дают, ровным счетом, никакого