2000-01-05 07:06:23 +01:00
|
|
|
--
|
|
|
|
-- 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');
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: invalid input syntax for type reltime: "badly formatted reltime"
|
2008-09-01 22:42:46 +02:00
|
|
|
LINE 1: INSERT INTO RELTIME_TBL (f1) VALUES ('badly formatted reltim...
|
|
|
|
^
|
2000-01-05 07:06:23 +01:00
|
|
|
INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago');
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: invalid input syntax for type reltime: "@ 30 eons ago"
|
2008-09-01 22:42:46 +02:00
|
|
|
LINE 1: INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago');
|
|
|
|
^
|
2000-01-05 07:06:23 +01:00
|
|
|
-- test reltime operators
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS six, * FROM RELTIME_TBL;
|
2000-01-05 07:06:23 +01:00
|
|
|
six | f1
|
|
|
|
-----+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 10 days
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 14 secs ago
|
1997-04-26 07:50:25 +02:00
|
|
|
(6 rows)
|
1997-04-05 13:06:04 +02:00
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS five, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 <> reltime '@ 10 days';
|
|
|
|
five | f1
|
|
|
|
------+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
|
|
|
| @ 14 secs ago
|
1997-04-05 13:06:04 +02:00
|
|
|
(5 rows)
|
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS three, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 <= reltime '@ 5 hours';
|
|
|
|
three | f1
|
|
|
|
-------+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 14 secs ago
|
1997-04-05 13:06:04 +02:00
|
|
|
(3 rows)
|
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS three, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 < reltime '@ 1 day';
|
|
|
|
three | f1
|
|
|
|
-------+---------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 14 secs ago
|
1997-04-05 13:06:04 +02:00
|
|
|
(3 rows)
|
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS one, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 = reltime '@ 34 years';
|
|
|
|
one | f1
|
|
|
|
-----+------------
|
|
|
|
| @ 34 years
|
1997-04-05 13:06:04 +02:00
|
|
|
(1 row)
|
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS two, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 >= reltime '@ 1 month';
|
|
|
|
two | f1
|
|
|
|
-----+------------
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
1997-04-05 13:06:04 +02:00
|
|
|
(2 rows)
|
|
|
|
|
2005-04-07 03:51:41 +02:00
|
|
|
SELECT '' AS five, * FROM RELTIME_TBL
|
2000-01-05 07:06:23 +01:00
|
|
|
WHERE RELTIME_TBL.f1 > reltime '@ 3 seconds ago';
|
|
|
|
five | f1
|
|
|
|
------+------------
|
|
|
|
| @ 1 min
|
|
|
|
| @ 5 hours
|
|
|
|
| @ 10 days
|
|
|
|
| @ 34 years
|
|
|
|
| @ 3 mons
|
1997-04-05 13:06:04 +02:00
|
|
|
(5 rows)
|
|
|
|
|
2000-01-05 07:06:23 +01:00
|
|
|
SELECT '' AS fifteen, r1.*, r2.*
|
1997-04-05 13:06:04 +02:00
|
|
|
FROM RELTIME_TBL r1, RELTIME_TBL r2
|
1997-05-09 05:26:56 +02:00
|
|
|
WHERE r1.f1 > r2.f1
|
|
|
|
ORDER BY r1.f1, r2.f1;
|
2000-01-05 07:06:23 +01:00
|
|
|
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
|
1997-04-05 13:06:04 +02:00
|
|
|
(15 rows)
|
|
|
|
|