~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to src/test/regress/sql/interval.sql

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--
 
2
-- INTERVAL
 
3
--
 
4
 
 
5
SET DATESTYLE = 'ISO';
 
6
 
 
7
-- check acceptance of "time zone style"
 
8
SELECT INTERVAL '01:00' AS "One hour";
 
9
SELECT INTERVAL '+02:00' AS "Two hours";
 
10
SELECT INTERVAL '-08:00' AS "Eight hours";
 
11
SELECT INTERVAL '-05' AS "Five hours";
 
12
SELECT INTERVAL '-1 +02:03' AS "22 hours ago...";
 
13
SELECT INTERVAL '-1 days +02:03' AS "22 hours ago...";
 
14
SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years...";
 
15
 
 
16
CREATE TABLE INTERVAL_TBL (f1 interval);
 
17
 
 
18
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute');
 
19
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour');
 
20
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day');
 
21
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year');
 
22
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months');
 
23
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago');
 
24
INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds');
 
25
INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years');
 
26
INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months');
 
27
INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours');
 
28
 
 
29
-- badly formatted interval
 
30
INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval');
 
31
INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago');
 
32
 
 
33
-- test interval operators
 
34
 
 
35
SELECT '' AS ten, INTERVAL_TBL.*;
 
36
 
 
37
SELECT '' AS nine, INTERVAL_TBL.*
 
38
   WHERE INTERVAL_TBL.f1 <> interval '@ 10 days';
 
39
 
 
40
SELECT '' AS three, INTERVAL_TBL.*
 
41
   WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours';
 
42
 
 
43
SELECT '' AS three, INTERVAL_TBL.*
 
44
   WHERE INTERVAL_TBL.f1 < interval '@ 1 day';
 
45
 
 
46
SELECT '' AS one, INTERVAL_TBL.*
 
47
   WHERE INTERVAL_TBL.f1 = interval '@ 34 years';
 
48
 
 
49
SELECT '' AS five, INTERVAL_TBL.* 
 
50
   WHERE INTERVAL_TBL.f1 >= interval '@ 1 month';
 
51
 
 
52
SELECT '' AS nine, INTERVAL_TBL.*
 
53
   WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago';
 
54
 
 
55
SELECT '' AS fortyfive, r1.*, r2.*
 
56
   FROM INTERVAL_TBL r1, INTERVAL_TBL r2
 
57
   WHERE r1.f1 > r2.f1
 
58
   ORDER BY r1.f1, r2.f1;
 
59
 
 
60
SET DATESTYLE = 'postgres';
 
61
 
 
62
SELECT '' AS ten, INTERVAL_TBL.*;
 
63
 
 
64
-- test avg(interval), which is somewhat fragile since people have been
 
65
-- known to change the allowed input syntax for type interval without
 
66
-- updating pg_aggregate.agginitval
 
67
 
 
68
select avg(f1) from interval_tbl;