This article is half-done without your Comment! *** Please share your thoughts via Comment ***
In this post, I am sharing examples of the RANGE Data type of PostgreSQL.
Using RANGE data type, you can store different types of range data and can easily use range criteria for further filters.
PostgreSQL has different RANGE type like:
- int4range (Integer)
- int8range (Bigint)
- numrange (Numeric)
- tsrange (Timestamp without time zone)
- tstzrange (Timestamp with time zone)
- daterange (Date)
Below is an example of this:
Create a sample table with different types of RANGES:
1 2 3 4 5 6 7 |
CREATE TABLE tbl_SampleRange ( ID INT ,NumberRange INT4RANGE ,DateOnlyRange DATERANGE ,DateTimeRange TSRANGE ); |
1 2 3 4 |
INSERT INTO tbl_SampleRange VALUES (1,'[10,20)'::int4range,'[2015-06-06,2016-08-08)','[2014-06-08 12:12:45,2016-07-06 14:12:08)') ,(2,'[40,50)'::int4range,'[2013-07-07,2014-09-09)','[2015-05-05 11:08:40,2016-08-03 16:08:08)'); |
1 2 3 |
SELECT *FROM tbl_SampleRange WHERE NumberRange @>15; SELECT *FROM tbl_SampleRange WHERE DateOnlyRange @>'2014-08-08'::date; SELECT *FROM tbl_SampleRange WHERE DateTimeRange @>'2015-06-06 12:08:40'::timestamp; |