Логическое “И”
Также есть агрегатный вариант оператора bool_and()
select
a and b
from (
values
(false, false),
(false, true),
(true, false),
(true, true),
) t(a, b);
-------
false
false
false
true
select
a and b
from (
values
(null, false),
(false, null),
(null, true),
(true, null),
(null, null),
) t(a, b);
-------
false
false
null
null
null
Логичесое “НЕ”
select
not a
from (
values
(true),
(false),
(null)
) t(a);
-------
false
true
null
Логическое “ИЛИ”
Также есть агрегатный вариант оператора bool_or()
select
a or b
from (
values
(false, false),
(false, true),
(true, false),
(true, true),
) t(a, b);
-------
false
true
true
true
select
a or b
from (
values
(null, false),
(false, null),
(null, true),
(true, null),
(null, null),
) t(a, b);
-------
null
null
true
true
null
select
2 between a and b
, 2 between symmetric a and b
from (
values
(1, 3),
(3, 1),
) t(a, b);
-------
true | true
false | true
select
a is null
from (
values
(1),
(null),
) t(a);
-------
false
true
select
a is true is_true
, a = true eq_true
, a is not false isnt_false
, a is false is_false
, a = false eq_false
, a is not true isnt_true
from (
values
(true),
(false),
(null),
) t(a);
-------
is_true | eq_true | isnt_false | is_false | eq_false | isnt_true
false | false | false | true | true | true
true | true | true | false | false | false
false | null | true | false | null | true
select
a is distinct from b
from (
values
(1, null),
(1, 1),
(null, null),
) t(a, b);
-------
true
false
false