should be it
This commit is contained in:
251
external/duckdb/test/sql/function/generic/test_between.test
vendored
Normal file
251
external/duckdb/test/sql/function/generic/test_between.test
vendored
Normal file
@@ -0,0 +1,251 @@
|
||||
# name: test/sql/function/generic/test_between.test
|
||||
# description: Test between statement
|
||||
# group: [generic]
|
||||
|
||||
statement ok
|
||||
SET default_null_order='nulls_first';
|
||||
|
||||
# test constant BETWEEN statement
|
||||
# simple between
|
||||
query T
|
||||
SELECT 10 BETWEEN 10 AND 20
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 9 BETWEEN 10 AND 20
|
||||
----
|
||||
0
|
||||
|
||||
# now with NULL values
|
||||
query T
|
||||
SELECT 10 BETWEEN NULL AND 20
|
||||
----
|
||||
NULL
|
||||
|
||||
query T
|
||||
SELECT 30 BETWEEN NULL AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 10 BETWEEN 10 AND NULL
|
||||
----
|
||||
NULL
|
||||
|
||||
query T
|
||||
SELECT 9 BETWEEN 10 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT NULL BETWEEN 10 AND 20
|
||||
----
|
||||
NULL
|
||||
|
||||
query T
|
||||
SELECT NULL BETWEEN NULL AND 20
|
||||
----
|
||||
NULL
|
||||
|
||||
query T
|
||||
SELECT NULL BETWEEN 10 AND NULL
|
||||
----
|
||||
NULL
|
||||
|
||||
query T
|
||||
SELECT NULL BETWEEN NULL AND NULL
|
||||
----
|
||||
NULL
|
||||
|
||||
# between with table
|
||||
statement ok
|
||||
CREATE TABLE integers(i INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO integers VALUES (1), (2), (3), (NULL)
|
||||
|
||||
query T
|
||||
SELECT i BETWEEN 1 AND 2 FROM integers ORDER BY i
|
||||
----
|
||||
NULL
|
||||
1
|
||||
1
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT i BETWEEN NULL AND 2 FROM integers ORDER BY i
|
||||
----
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT i BETWEEN 2 AND NULL FROM integers ORDER BY i
|
||||
----
|
||||
NULL
|
||||
0
|
||||
NULL
|
||||
NULL
|
||||
|
||||
# between in WHERE clause
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 10 BETWEEN 10 AND 20
|
||||
----
|
||||
4
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 9 BETWEEN 10 AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 10 BETWEEN NULL AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 30 BETWEEN NULL AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 10 BETWEEN 10 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 9 BETWEEN 10 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN 10 AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN NULL AND 20
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN 10 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN NULL AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN 1 AND 2
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN NULL AND 2
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN 2 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN -1 AND +1
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 0 BETWEEN -1 AND +1
|
||||
----
|
||||
4
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN i-1 AND i+1
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN i-1 AND 10
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN NULL AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN i-1 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN 0 AND i+1
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE i BETWEEN NULL AND i+1
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 1 BETWEEN i-1 AND i+1
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN i-1 AND i+1
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE NULL BETWEEN i-1 AND NULL
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 1 BETWEEN i-1 AND 100
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT COUNT(*) FROM integers WHERE 1 BETWEEN 0 AND i-1
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT * FROM integers WHERE i >= 1 AND i < 2
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT * FROM integers WHERE i > 1 AND i <= 2
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT * FROM range(4) tbl(i) WHERE i >= 1 AND i < 2
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT * FROM range(4) tbl(i) WHERE i > 1 AND i <= 2
|
||||
----
|
||||
2
|
||||
|
||||
# Issue #3588 - only one constant bounds
|
||||
statement ok
|
||||
CREATE TABLE issue3588(c0 INT);
|
||||
|
||||
statement ok
|
||||
SELECT *
|
||||
FROM issue3588
|
||||
WHERE (SELECT 0) BETWEEN 0 AND issue3588.c0;
|
||||
|
||||
Reference in New Issue
Block a user