Логические операторы
Логические
(булевы) операторы используются для объединения результатов двух или более выражений
сравнения в единое целое:
Они могут
состоять только из выражений, возвращающих логические значения 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.
Значения логических операторов для однобитовых операндов
Значения
соответствующего бита результата
|
битА=1
бит В=0
|
6итА=1
битВ=1
|
битА=0
бит В=0
|
бит А=0
бит В=1
|
||
A And В
|
0
|
1
|
0
|
0
|
||
A Or В
|
1
|
1
|
0
|
1
|
||
Not A
|
0
|
0
|
1
|
1
|
||
А Хог В
|
1
|
0
|
0
|
1
|
||
A Eqv В
|
0
|
1
|
1
|
0
|
||
A Imp В
|
0
|
1
|
1
|
1
|
||