Предикат is null позволяет проверить, являются ли неопределенными значения всех элементов строки-операнда:
null_predicate ::= row_value_constructor IS [ NOT ] NULL
Пусть X обозначает строку-операнд. Если значения всех элементов X являются неопределенными, то значением условия X IS NULL является true; иначе – false. Если ни у одного элемента X значение не является неопределенным, то значением условия X IS NOT NULL является true; иначе – false.
Замечание: условие X IS NOT NULL имеет то же значение, что условие NOT X IS NULL для любого X в том и только в том случае, когда степень X равна 1. Полная семантика предиката null приведена в .
X IS X NULL | IS NOT NULL | NOT X IS NULL | NOT X IS NOT NULL | |
Степень 1: значение NULL | true | false | false | true |
Степень 1: значение отлично от NULL | false | true | true | false |
Степень > 1: у всех элементов значение NULL | true | false | false | true |
Степень > 1: у некоторых(не у всех) элементов значение NULL | false | false | true | true |
Степень > 1: ни у одного элемента нет значения NULL | false | true | true | false |