BETWEEN
Description
A
BETWEEN
condition tests expressions for inclusion in a range of values, using the keywordsBETWEEN
andAND
. (Redshift SQL Language Reference BETWEEN condition)
Grammar Syntax
expression [ NOT ] BETWEEN expression AND expression
This function is fully supported by Snowflake.
Sample Source Patterns
Setup Table
CREATE TABLE sales (
id INTEGER IDENTITY(1,1),
price FLOAT,
departmentId INTEGER,
saleDate DATE
);
INSERT INTO sales (price, departmentId, saleDate) VALUES
(5000, 1, '2008-01-01'),
(8000, 1, '2018-01-01'),
(5000, 2, '2010-01-01'),
(7000, 3, '2010-01-01'),
(5000, 1, '2018-01-01'),
(4000, 4, '2010-01-01'),
(3000, 4, '2018-01-01'),
(9000, 5, '2008-01-01'),
(7000, 5, '2018-01-01'),
(6000, 5, '2006-01-01'),
(5000, 5, '2008-01-01'),
(5000, 4, '2018-01-01'),
(8000, 3, '2006-01-01'),
(7000, 3, '2016-01-01'),
(2000, 2, '2018-01-01');
CREATE TABLE sales (
id INTEGER IDENTITY(1,1) ORDER,
price FLOAT,
departmentId INTEGER,
saleDate DATE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "01/08/2025", "domain": "test" }}';
INSERT INTO sales (price, departmentId, saleDate) VALUES
(5000, 1, '2008-01-01'),
(8000, 1, '2018-01-01'),
(5000, 2, '2010-01-01'),
(7000, 3, '2010-01-01'),
(5000, 1, '2018-01-01'),
(4000, 4, '2010-01-01'),
(3000, 4, '2018-01-01'),
(9000, 5, '2008-01-01'),
(7000, 5, '2018-01-01'),
(6000, 5, '2006-01-01'),
(5000, 5, '2008-01-01'),
(5000, 4, '2018-01-01'),
(8000, 3, '2006-01-01'),
(7000, 3, '2016-01-01'),
(2000, 2, '2018-01-01');
Input Code:
SELECT COUNT(*) FROM sales
WHERE departmentId BETWEEN 2 AND 4;
SELECT * FROM sales
WHERE departmentId BETWEEN 4 AND 2;
SELECT * FROM sales
WHERE departmentId NOT BETWEEN 4 AND 2;
SELECT * FROM sales
WHERE departmentId BETWEEN 2 AND 4
AND saleDate BETWEEN '2010-01-01' and '2016-01-01';
select 'some ' between c_start and c_end
from( select 'same' as c_start, 'some' as c_end );
8
1
5000
1
2008-01-01
2
8000
1
2018-01-01
3
5000
2
2010-01-01
4
7000
3
2010-01-01
5
5000
1
2018-01-01
6
4000
4
2010-01-01
7
3000
4
2018-01-01
8
9000
5
2008-01-01
9
7000
5
2018-01-01
10
6000
5
2006-01-01
11
5000
5
2008-01-01
12
5000
4
2018-01-01
13
8000
3
2006-01-01
14
7000
3
2016-01-01
15
2000
2
2018-01-01
3
5000
2
2010-01-01
4
7000
3
2010-01-01
6
4000
4
2010-01-01
14
7000
3
2016-01-01
Output Code:
SELECT COUNT(*) FROM
sales
WHERE departmentId BETWEEN 2 AND 4;
SELECT * FROM
sales
WHERE departmentId BETWEEN 4 AND 2;
SELECT * FROM
sales
WHERE departmentId NOT BETWEEN 4 AND 2;
SELECT * FROM
sales
WHERE departmentId BETWEEN 2 AND 4
AND saleDate BETWEEN '2010-01-01' and '2016-01-01';
select
RTRIM( 'some ') between c_start and c_end
from( select 'same' as c_start, 'some' as c_end );
8
1
5000
1
2008-01-01
2
8000
1
2018-01-01
3
5000
2
2010-01-01
4
7000
3
2010-01-01
5
5000
1
2018-01-01
6
4000
4
2010-01-01
7
3000
4
2018-01-01
8
9000
5
2008-01-01
9
7000
5
2018-01-01
10
6000
5
2006-01-01
11
5000
5
2008-01-01
12
5000
4
2018-01-01
13
8000
3
2006-01-01
14
7000
3
2016-01-01
15
2000
2
2018-01-01
3
5000
2
2010-01-01
4
7000
3
2010-01-01
6
4000
4
2010-01-01
14
7000
3
2016-01-01
Known Issues
No issues were found.
Related EWIs
No related EWIs.
Last updated