1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
set enable_seqscan=off;
CREATE TABLE test_interval (
i interval
);
INSERT INTO test_interval VALUES
( '-178000000 years' ),
( '03:55:08' ),
( '04:55:08' ),
( '05:55:08' ),
( '08:55:08' ),
( '09:55:08' ),
( '10:55:08' ),
( '178000000 years' )
;
CREATE INDEX idx_interval ON test_interval USING gin (i);
SELECT * FROM test_interval WHERE i<'08:55:08'::interval ORDER BY i;
i
--------------------------
@ 178000000 years ago
@ 3 hours 55 mins 8 secs
@ 4 hours 55 mins 8 secs
@ 5 hours 55 mins 8 secs
(4 rows)
SELECT * FROM test_interval WHERE i<='08:55:08'::interval ORDER BY i;
i
--------------------------
@ 178000000 years ago
@ 3 hours 55 mins 8 secs
@ 4 hours 55 mins 8 secs
@ 5 hours 55 mins 8 secs
@ 8 hours 55 mins 8 secs
(5 rows)
SELECT * FROM test_interval WHERE i='08:55:08'::interval ORDER BY i;
i
--------------------------
@ 8 hours 55 mins 8 secs
(1 row)
SELECT * FROM test_interval WHERE i>='08:55:08'::interval ORDER BY i;
i
---------------------------
@ 8 hours 55 mins 8 secs
@ 9 hours 55 mins 8 secs
@ 10 hours 55 mins 8 secs
@ 178000000 years
(4 rows)
SELECT * FROM test_interval WHERE i>'08:55:08'::interval ORDER BY i;
i
---------------------------
@ 9 hours 55 mins 8 secs
@ 10 hours 55 mins 8 secs
@ 178000000 years
(3 rows)
|