# name: test/sql/aggregate/aggregates/test_bool.test # description: Test Bool operator # group: [aggregates] statement ok SET default_null_order='nulls_first'; # Corner Cases statement error select bool_or(0) ---- statement error select bool_and(0) ---- query I select bool_or(NULL) ---- NULL query I select bool_and(NULL) ---- NULL statement error select bool_or() ---- statement error select bool_and() ---- statement error select bool_or(*) ---- statement error select bool_and(*) ---- query I SELECT bool_or(True) FROM range(100); ---- 1 query I SELECT bool_and(True) FROM range(100); ---- 1 query I SELECT bool_or(True) FROM range(100) tbl(i) WHERE 1=0; ---- NULL query I SELECT bool_and(True) FROM range(100) tbl(i) WHERE 1=0; ---- NULL statement ok create table t (d date) statement ok insert into t values (DATE'2021-02-09'-1),(DATE'2021-02-09'+1),(NULL) query II select bool_or(d > '2021-02-09') AS or_result, bool_and(d > '2021-02-09') AS and_result from t; ---- 1 0 query III select d,bool_or(d > '2021-02-09') AS or_result, bool_and(d > '2021-02-09') AS and_result from t group by d order by d; ---- NULL NULL NULL 2021-02-08 0 0 2021-02-10 1 1 # Window Function query I select bool_or(d > '2021-02-09') over (partition by d) from t order by d; ---- NULL 0 1 query I select bool_and(d > '2021-02-09') over (partition by d) from t order by d; ---- NULL 0 1