Логические
(булевы) операторы используются для объединения результатов двух или более выражений
сравнения в единое целое:
And — конъюнкции (логического
И);
Or — дизъюнкции (логического
ИЛИ);
Not — логического отрицания;
Хог — исключающего
ИЛИ;
Eqv — логической эквивалентности;
Imp — логической импликации.
Они могут
состоять только из выражений, возвращающих логические значения True, False или
Null. В противном случае выполняется побитовое сравнение. Логические операторы
всегда требуют двух операндов, за исключением Not — логического эквивалента
унарного минуса.
В табл. 4.4—4.6
приведены результаты логических операторов Access в зависимости от значения
операндов.
Таблица
4.4.
Зависимость значения логических операторов от значения операндов
A=True
B=False
A=True
B=True
A=False
B=False
A=False
B=True
A And В
False
True
False
False
A Or В
True
True
False
True
Not A
False
False
True
True
А Хог В
True
False
False
True
A Eqv В
False
True
True
False
A Imp В
False
True
True
True
Для всех логических
операторов, кроме Imp, значение одного из операндов Null приводит к значению
результата Null.
Таблица
4.5.
Значения оператора Imp с Null-операндами
A=Null B=False
A=Null B=True
A=False B=Null
A=True B=Null
A=Null B=Null
A Imp В
Null
True
True
Null
Null
В случае если
сравниваются два выражения и, по крайней мере, одно из них не является константой
из множества (True, False, Null), логические операторы приводят к побитовому
сравнению выражений-операндов (табл. 4.6).
Таблица
4.6.
Значения логических операторов для однобитовых операндов