-- -- RELTIME -- CREATE TABLE RELTIME_TBL (f1 reltime); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 1 minute'); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 5 hour'); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 10 day'); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 34 year'); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 3 months'); INSERT INTO RELTIME_TBL (f1) VALUES ('@ 14 seconds ago'); -- badly formatted reltimes INSERT INTO RELTIME_TBL (f1) VALUES ('badly formatted reltime'); ERROR: invalid input syntax for type reltime: "badly formatted reltime" LINE 1: INSERT INTO RELTIME_TBL (f1) VALUES ('badly formatted reltim... ^ INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago'); ERROR: invalid input syntax for type reltime: "@ 30 eons ago" LINE 1: INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago'); ^ -- test reltime operators SELECT '' AS six, * FROM RELTIME_TBL ORDER BY f1; six | f1 -----+--------------- | @ 14 secs ago | @ 1 min | @ 5 hours | @ 10 days | @ 3 mons | @ 34 years (6 rows) SELECT '' AS five, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 <> reltime '@ 10 days' ORDER BY f1; five | f1 ------+--------------- | @ 14 secs ago | @ 1 min | @ 5 hours | @ 3 mons | @ 34 years (5 rows) SELECT '' AS three, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 <= reltime '@ 5 hours' ORDER BY f1; three | f1 -------+--------------- | @ 14 secs ago | @ 1 min | @ 5 hours (3 rows) SELECT '' AS three, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 < reltime '@ 1 day' ORDER BY f1; three | f1 -------+--------------- | @ 14 secs ago | @ 1 min | @ 5 hours (3 rows) SELECT '' AS one, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 = reltime '@ 34 years' ORDER BY f1; one | f1 -----+------------ | @ 34 years (1 row) SELECT '' AS two, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 >= reltime '@ 1 month' ORDER BY f1; two | f1 -----+------------ | @ 3 mons | @ 34 years (2 rows) SELECT '' AS five, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 > reltime '@ 3 seconds ago' ORDER BY f1; five | f1 ------+------------ | @ 1 min | @ 5 hours | @ 10 days | @ 3 mons | @ 34 years (5 rows) SELECT '' AS fifteen, r1.*, r2.* FROM RELTIME_TBL r1, RELTIME_TBL r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1; fifteen | f1 | f1 ---------+------------+--------------- | @ 1 min | @ 14 secs ago | @ 5 hours | @ 14 secs ago | @ 5 hours | @ 1 min | @ 10 days | @ 14 secs ago | @ 10 days | @ 1 min | @ 10 days | @ 5 hours | @ 3 mons | @ 14 secs ago | @ 3 mons | @ 1 min | @ 3 mons | @ 5 hours | @ 3 mons | @ 10 days | @ 34 years | @ 14 secs ago | @ 34 years | @ 1 min | @ 34 years | @ 5 hours | @ 34 years | @ 10 days | @ 34 years | @ 3 mons (15 rows)