Files
email-tracker/external/duckdb/test/sql/aggregate/aggregates/test_bool.test
2025-10-24 19:21:19 -05:00

104 lines
1.4 KiB
SQL

# 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