Clean up date_part tests a bit
authorPeter Eisentraut <[email protected]>
Mon, 29 Mar 2021 15:53:30 +0000 (17:53 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 29 Mar 2021 15:53:30 +0000 (17:53 +0200)
Some tests for timestamp and timestamptz were in the date.sql test
file.  Move them to their appropriate files, or drop tests cases that
were already present there.

src/test/regress/expected/date.out
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/sql/date.sql
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql

index 1b921ce215b582575cbaec1dfccc1c66cd78bc8f..83ad111f1c821fc5f87f76edd9ef21e775cd1e4b 100644 (file)
@@ -971,18 +971,6 @@ SELECT EXTRACT(EPOCH FROM DATE        '1970-01-01');     --  0
          0
 (1 row)
 
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   '1970-01-01');     --  0
- date_part 
------------
-         0
-(1 row)
-
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1970-01-01+00');  --  0
- date_part 
------------
-         0
-(1 row)
-
 --
 -- century
 --
@@ -1137,22 +1125,6 @@ SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); --  -2
         -2
 (1 row)
 
---
--- some other types:
---
--- on a timestamp.
-SELECT EXTRACT(CENTURY FROM NOW())>=21 AS True;       -- true
- true 
-------
- t
-(1 row)
-
-SELECT EXTRACT(CENTURY FROM TIMESTAMP '1970-03-20 04:30:00.00000'); -- 20
- date_part 
------------
-        20
-(1 row)
-
 --
 -- all possible fields
 --
@@ -1370,7 +1342,7 @@ select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'
 (1 row)
 
 --
--- oscillating fields from non-finite date/timestamptz:
+-- oscillating fields from non-finite date:
 --
 SELECT EXTRACT(HOUR FROM DATE 'infinity');      -- NULL
  date_part 
@@ -1384,30 +1356,6 @@ SELECT EXTRACT(HOUR FROM DATE '-infinity');     -- NULL
           
 (1 row)
 
-SELECT EXTRACT(HOUR FROM TIMESTAMP   'infinity');      -- NULL
- date_part 
------------
-          
-(1 row)
-
-SELECT EXTRACT(HOUR FROM TIMESTAMP   '-infinity');     -- NULL
- date_part 
------------
-          
-(1 row)
-
-SELECT EXTRACT(HOUR FROM TIMESTAMPTZ 'infinity');      -- NULL
- date_part 
------------
-          
-(1 row)
-
-SELECT EXTRACT(HOUR FROM TIMESTAMPTZ '-infinity');     -- NULL
- date_part 
------------
-          
-(1 row)
-
 -- all possible fields
 SELECT EXTRACT(MICROSECONDS  FROM DATE 'infinity');    -- NULL
  date_part 
@@ -1500,7 +1448,7 @@ SELECT EXTRACT(TIMEZONE_H    FROM DATE 'infinity');    -- NULL
 (1 row)
 
 --
--- monotonic fields from non-finite date/timestamptz:
+-- monotonic fields from non-finite date:
 --
 SELECT EXTRACT(EPOCH FROM DATE 'infinity');         --  Infinity
  date_part 
@@ -1514,30 +1462,6 @@ SELECT EXTRACT(EPOCH FROM DATE '-infinity');        -- -Infinity
  -Infinity
 (1 row)
 
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   'infinity');  --  Infinity
- date_part 
------------
-  Infinity
-(1 row)
-
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   '-infinity'); -- -Infinity
- date_part 
------------
- -Infinity
-(1 row)
-
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ 'infinity');  --  Infinity
- date_part 
------------
-  Infinity
-(1 row)
-
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '-infinity'); -- -Infinity
- date_part 
------------
- -Infinity
-(1 row)
-
 -- all possible fields
 SELECT EXTRACT(YEAR       FROM DATE 'infinity');    --  Infinity
  date_part 
index 89a856bac98732b418e7a4f23b9509c6b53c329c..233ac50d7e6771b9b391cdae5b67710271f86e9c 100644 (file)
@@ -931,75 +931,76 @@ SELECT d1 as "timestamp",
    date_part( 'decade', d1) AS decade,
    date_part( 'century', d1) AS century,
    date_part( 'millennium', d1) AS millennium,
-   round(date_part( 'julian', d1)) AS julian
+   round(date_part( 'julian', d1)) AS julian,
+   date_part( 'epoch', d1) AS epoch
    FROM TIMESTAMP_TBL;
-          timestamp          |  decade   |  century  | millennium |  julian   
------------------------------+-----------+-----------+------------+-----------
- -infinity                   | -Infinity | -Infinity |  -Infinity | -Infinity
- infinity                    |  Infinity |  Infinity |   Infinity |  Infinity
- Thu Jan 01 00:00:00 1970    |       197 |        20 |          2 |   2440588
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:02 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.4 1997  |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.5 1997  |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.6 1997  |       199 |        20 |          2 |   2450491
- Thu Jan 02 00:00:00 1997    |       199 |        20 |          2 |   2450451
- Thu Jan 02 03:04:05 1997    |       199 |        20 |          2 |   2450451
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Tue Jun 10 17:32:01 1997    |       199 |        20 |          2 |   2450611
- Sat Sep 22 18:19:20 2001    |       200 |        21 |          3 |   2452176
- Wed Mar 15 08:14:01 2000    |       200 |        20 |          2 |   2451619
- Wed Mar 15 13:14:02 2000    |       200 |        20 |          2 |   2451620
- Wed Mar 15 12:14:03 2000    |       200 |        20 |          2 |   2451620
- Wed Mar 15 03:14:04 2000    |       200 |        20 |          2 |   2451619
- Wed Mar 15 02:14:05 2000    |       200 |        20 |          2 |   2451619
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:00 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Tue Jun 10 18:32:01 1997    |       199 |        20 |          2 |   2450611
- Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491
- Tue Feb 11 17:32:01 1997    |       199 |        20 |          2 |   2450492
- Wed Feb 12 17:32:01 1997    |       199 |        20 |          2 |   2450493
- Thu Feb 13 17:32:01 1997    |       199 |        20 |          2 |   2450494
- Fri Feb 14 17:32:01 1997    |       199 |        20 |          2 |   2450495
- Sat Feb 15 17:32:01 1997    |       199 |        20 |          2 |   2450496
- Sun Feb 16 17:32:01 1997    |       199 |        20 |          2 |   2450497
- Tue Feb 16 17:32:01 0097 BC |       -10 |        -1 |         -1 |   1686043
- Sat Feb 16 17:32:01 0097    |         9 |         1 |          1 |   1756537
- Thu Feb 16 17:32:01 0597    |        59 |         6 |          1 |   1939158
- Tue Feb 16 17:32:01 1097    |       109 |        11 |          2 |   2121779
- Sat Feb 16 17:32:01 1697    |       169 |        17 |          2 |   2340925
- Thu Feb 16 17:32:01 1797    |       179 |        18 |          2 |   2377449
- Tue Feb 16 17:32:01 1897    |       189 |        19 |          2 |   2413973
- Sun Feb 16 17:32:01 1997    |       199 |        20 |          2 |   2450497
- Sat Feb 16 17:32:01 2097    |       209 |        21 |          3 |   2487022
- Wed Feb 28 17:32:01 1996    |       199 |        20 |          2 |   2450143
- Thu Feb 29 17:32:01 1996    |       199 |        20 |          2 |   2450144
- Fri Mar 01 17:32:01 1996    |       199 |        20 |          2 |   2450145
- Mon Dec 30 17:32:01 1996    |       199 |        20 |          2 |   2450449
- Tue Dec 31 17:32:01 1996    |       199 |        20 |          2 |   2450450
- Wed Jan 01 17:32:01 1997    |       199 |        20 |          2 |   2450451
- Fri Feb 28 17:32:01 1997    |       199 |        20 |          2 |   2450509
- Sat Mar 01 17:32:01 1997    |       199 |        20 |          2 |   2450510
- Tue Dec 30 17:32:01 1997    |       199 |        20 |          2 |   2450814
- Wed Dec 31 17:32:01 1997    |       199 |        20 |          2 |   2450815
- Fri Dec 31 17:32:01 1999    |       199 |        20 |          2 |   2451545
- Sat Jan 01 17:32:01 2000    |       200 |        20 |          2 |   2451546
- Sun Dec 31 17:32:01 2000    |       200 |        20 |          2 |   2451911
- Mon Jan 01 17:32:01 2001    |       200 |        21 |          3 |   2451912
+          timestamp          |  decade   |  century  | millennium |  julian   |    epoch     
+-----------------------------+-----------+-----------+------------+-----------+--------------
+ -infinity                   | -Infinity | -Infinity |  -Infinity | -Infinity |    -Infinity
+ infinity                    |  Infinity |  Infinity |   Infinity |  Infinity |     Infinity
+ Thu Jan 01 00:00:00 1970    |       197 |        20 |          2 |   2440588 |            0
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:02 1997    |       199 |        20 |          2 |   2450491 |    855595922
+ Mon Feb 10 17:32:01.4 1997  |       199 |        20 |          2 |   2450491 |  855595921.4
+ Mon Feb 10 17:32:01.5 1997  |       199 |        20 |          2 |   2450491 |  855595921.5
+ Mon Feb 10 17:32:01.6 1997  |       199 |        20 |          2 |   2450491 |  855595921.6
+ Thu Jan 02 00:00:00 1997    |       199 |        20 |          2 |   2450451 |    852163200
+ Thu Jan 02 03:04:05 1997    |       199 |        20 |          2 |   2450451 |    852174245
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Tue Jun 10 17:32:01 1997    |       199 |        20 |          2 |   2450611 |    865963921
+ Sat Sep 22 18:19:20 2001    |       200 |        21 |          3 |   2452176 |   1001182760
+ Wed Mar 15 08:14:01 2000    |       200 |        20 |          2 |   2451619 |    953108041
+ Wed Mar 15 13:14:02 2000    |       200 |        20 |          2 |   2451620 |    953126042
+ Wed Mar 15 12:14:03 2000    |       200 |        20 |          2 |   2451620 |    953122443
+ Wed Mar 15 03:14:04 2000    |       200 |        20 |          2 |   2451619 |    953090044
+ Wed Mar 15 02:14:05 2000    |       200 |        20 |          2 |   2451619 |    953086445
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:00 1997    |       199 |        20 |          2 |   2450491 |    855595920
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Tue Jun 10 18:32:01 1997    |       199 |        20 |          2 |   2450611 |    865967521
+ Mon Feb 10 17:32:01 1997    |       199 |        20 |          2 |   2450491 |    855595921
+ Tue Feb 11 17:32:01 1997    |       199 |        20 |          2 |   2450492 |    855682321
+ Wed Feb 12 17:32:01 1997    |       199 |        20 |          2 |   2450493 |    855768721
+ Thu Feb 13 17:32:01 1997    |       199 |        20 |          2 |   2450494 |    855855121
+ Fri Feb 14 17:32:01 1997    |       199 |        20 |          2 |   2450495 |    855941521
+ Sat Feb 15 17:32:01 1997    |       199 |        20 |          2 |   2450496 |    856027921
+ Sun Feb 16 17:32:01 1997    |       199 |        20 |          2 |   2450497 |    856114321
+ Tue Feb 16 17:32:01 0097 BC |       -10 |        -1 |         -1 |   1686043 | -65192711279
+ Sat Feb 16 17:32:01 0097    |         9 |         1 |          1 |   1756537 | -59102029679
+ Thu Feb 16 17:32:01 0597    |        59 |         6 |          1 |   1939158 | -43323575279
+ Tue Feb 16 17:32:01 1097    |       109 |        11 |          2 |   2121779 | -27545120879
+ Sat Feb 16 17:32:01 1697    |       169 |        17 |          2 |   2340925 |  -8610906479
+ Thu Feb 16 17:32:01 1797    |       179 |        18 |          2 |   2377449 |  -5455232879
+ Tue Feb 16 17:32:01 1897    |       189 |        19 |          2 |   2413973 |  -2299559279
+ Sun Feb 16 17:32:01 1997    |       199 |        20 |          2 |   2450497 |    856114321
+ Sat Feb 16 17:32:01 2097    |       209 |        21 |          3 |   2487022 |   4011874321
+ Wed Feb 28 17:32:01 1996    |       199 |        20 |          2 |   2450143 |    825528721
+ Thu Feb 29 17:32:01 1996    |       199 |        20 |          2 |   2450144 |    825615121
+ Fri Mar 01 17:32:01 1996    |       199 |        20 |          2 |   2450145 |    825701521
+ Mon Dec 30 17:32:01 1996    |       199 |        20 |          2 |   2450449 |    851967121
+ Tue Dec 31 17:32:01 1996    |       199 |        20 |          2 |   2450450 |    852053521
+ Wed Jan 01 17:32:01 1997    |       199 |        20 |          2 |   2450451 |    852139921
+ Fri Feb 28 17:32:01 1997    |       199 |        20 |          2 |   2450509 |    857151121
+ Sat Mar 01 17:32:01 1997    |       199 |        20 |          2 |   2450510 |    857237521
+ Tue Dec 30 17:32:01 1997    |       199 |        20 |          2 |   2450814 |    883503121
+ Wed Dec 31 17:32:01 1997    |       199 |        20 |          2 |   2450815 |    883589521
+ Fri Dec 31 17:32:01 1999    |       199 |        20 |          2 |   2451545 |    946661521
+ Sat Jan 01 17:32:01 2000    |       200 |        20 |          2 |   2451546 |    946747921
+ Sun Dec 31 17:32:01 2000    |       200 |        20 |          2 |   2451911 |    978283921
+ Mon Jan 01 17:32:01 2001    |       200 |        21 |          3 |   2451912 |    978370321
 (65 rows)
 
 -- TO_CHAR()
index c9541487968186424fe385be45608c64a571f5b1..abd8a645a0a7a80e7fdb46b565677c2246c9eccc 100644 (file)
@@ -1022,76 +1022,77 @@ SELECT d1 as timestamptz,
    date_part( 'decade', d1) AS decade,
    date_part( 'century', d1) AS century,
    date_part( 'millennium', d1) AS millennium,
-   round(date_part( 'julian', d1)) AS julian
+   round(date_part( 'julian', d1)) AS julian,
+   date_part( 'epoch', d1) AS epoch
    FROM TIMESTAMPTZ_TBL;
-           timestamptz           |  decade   |  century  | millennium |  julian   
----------------------------------+-----------+-----------+------------+-----------
- -infinity                       | -Infinity | -Infinity |  -Infinity | -Infinity
- infinity                        |  Infinity |  Infinity |   Infinity |  Infinity
- Wed Dec 31 16:00:00 1969 PST    |       196 |        20 |          2 |   2440588
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:02 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.4 1997 PST  |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.5 1997 PST  |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01.6 1997 PST  |       199 |        20 |          2 |   2450491
- Thu Jan 02 00:00:00 1997 PST    |       199 |        20 |          2 |   2450451
- Thu Jan 02 03:04:05 1997 PST    |       199 |        20 |          2 |   2450451
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Tue Jun 10 17:32:01 1997 PDT    |       199 |        20 |          2 |   2450611
- Sat Sep 22 18:19:20 2001 PDT    |       200 |        21 |          3 |   2452176
- Wed Mar 15 08:14:01 2000 PST    |       200 |        20 |          2 |   2451619
- Wed Mar 15 04:14:02 2000 PST    |       200 |        20 |          2 |   2451619
- Wed Mar 15 02:14:03 2000 PST    |       200 |        20 |          2 |   2451619
- Wed Mar 15 03:14:04 2000 PST    |       200 |        20 |          2 |   2451619
- Wed Mar 15 01:14:05 2000 PST    |       200 |        20 |          2 |   2451619
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:00 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490
- Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490
- Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490
- Mon Feb 10 14:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Thu Jul 10 14:32:01 1997 PDT    |       199 |        20 |          2 |   2450641
- Tue Jun 10 18:32:01 1997 PDT    |       199 |        20 |          2 |   2450611
- Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491
- Tue Feb 11 17:32:01 1997 PST    |       199 |        20 |          2 |   2450492
- Wed Feb 12 17:32:01 1997 PST    |       199 |        20 |          2 |   2450493
- Thu Feb 13 17:32:01 1997 PST    |       199 |        20 |          2 |   2450494
- Fri Feb 14 17:32:01 1997 PST    |       199 |        20 |          2 |   2450495
- Sat Feb 15 17:32:01 1997 PST    |       199 |        20 |          2 |   2450496
- Sun Feb 16 17:32:01 1997 PST    |       199 |        20 |          2 |   2450497
- Tue Feb 16 17:32:01 0097 PST BC |       -10 |        -1 |         -1 |   1686043
- Sat Feb 16 17:32:01 0097 PST    |         9 |         1 |          1 |   1756537
- Thu Feb 16 17:32:01 0597 PST    |        59 |         6 |          1 |   1939158
- Tue Feb 16 17:32:01 1097 PST    |       109 |        11 |          2 |   2121779
- Sat Feb 16 17:32:01 1697 PST    |       169 |        17 |          2 |   2340925
- Thu Feb 16 17:32:01 1797 PST    |       179 |        18 |          2 |   2377449
- Tue Feb 16 17:32:01 1897 PST    |       189 |        19 |          2 |   2413973
- Sun Feb 16 17:32:01 1997 PST    |       199 |        20 |          2 |   2450497
- Sat Feb 16 17:32:01 2097 PST    |       209 |        21 |          3 |   2487022
- Wed Feb 28 17:32:01 1996 PST    |       199 |        20 |          2 |   2450143
- Thu Feb 29 17:32:01 1996 PST    |       199 |        20 |          2 |   2450144
- Fri Mar 01 17:32:01 1996 PST    |       199 |        20 |          2 |   2450145
- Mon Dec 30 17:32:01 1996 PST    |       199 |        20 |          2 |   2450449
- Tue Dec 31 17:32:01 1996 PST    |       199 |        20 |          2 |   2450450
- Wed Jan 01 17:32:01 1997 PST    |       199 |        20 |          2 |   2450451
- Fri Feb 28 17:32:01 1997 PST    |       199 |        20 |          2 |   2450509
- Sat Mar 01 17:32:01 1997 PST    |       199 |        20 |          2 |   2450510
- Tue Dec 30 17:32:01 1997 PST    |       199 |        20 |          2 |   2450814
- Wed Dec 31 17:32:01 1997 PST    |       199 |        20 |          2 |   2450815
- Fri Dec 31 17:32:01 1999 PST    |       199 |        20 |          2 |   2451545
- Sat Jan 01 17:32:01 2000 PST    |       200 |        20 |          2 |   2451546
- Sun Dec 31 17:32:01 2000 PST    |       200 |        20 |          2 |   2451911
- Mon Jan 01 17:32:01 2001 PST    |       200 |        21 |          3 |   2451912
+           timestamptz           |  decade   |  century  | millennium |  julian   |    epoch     
+---------------------------------+-----------+-----------+------------+-----------+--------------
+ -infinity                       | -Infinity | -Infinity |  -Infinity | -Infinity |    -Infinity
+ infinity                        |  Infinity |  Infinity |   Infinity |  Infinity |     Infinity
+ Wed Dec 31 16:00:00 1969 PST    |       196 |        20 |          2 |   2440588 |            0
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:02 1997 PST    |       199 |        20 |          2 |   2450491 |    855624722
+ Mon Feb 10 17:32:01.4 1997 PST  |       199 |        20 |          2 |   2450491 |  855624721.4
+ Mon Feb 10 17:32:01.5 1997 PST  |       199 |        20 |          2 |   2450491 |  855624721.5
+ Mon Feb 10 17:32:01.6 1997 PST  |       199 |        20 |          2 |   2450491 |  855624721.6
+ Thu Jan 02 00:00:00 1997 PST    |       199 |        20 |          2 |   2450451 |    852192000
+ Thu Jan 02 03:04:05 1997 PST    |       199 |        20 |          2 |   2450451 |    852203045
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Tue Jun 10 17:32:01 1997 PDT    |       199 |        20 |          2 |   2450611 |    865989121
+ Sat Sep 22 18:19:20 2001 PDT    |       200 |        21 |          3 |   2452176 |   1001207960
+ Wed Mar 15 08:14:01 2000 PST    |       200 |        20 |          2 |   2451619 |    953136841
+ Wed Mar 15 04:14:02 2000 PST    |       200 |        20 |          2 |   2451619 |    953122442
+ Wed Mar 15 02:14:03 2000 PST    |       200 |        20 |          2 |   2451619 |    953115243
+ Wed Mar 15 03:14:04 2000 PST    |       200 |        20 |          2 |   2451619 |    953118844
+ Wed Mar 15 01:14:05 2000 PST    |       200 |        20 |          2 |   2451619 |    953111645
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:00 1997 PST    |       199 |        20 |          2 |   2450491 |    855624720
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490 |    855595921
+ Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490 |    855595921
+ Mon Feb 10 09:32:01 1997 PST    |       199 |        20 |          2 |   2450490 |    855595921
+ Mon Feb 10 14:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855613921
+ Thu Jul 10 14:32:01 1997 PDT    |       199 |        20 |          2 |   2450641 |    868570321
+ Tue Jun 10 18:32:01 1997 PDT    |       199 |        20 |          2 |   2450611 |    865992721
+ Mon Feb 10 17:32:01 1997 PST    |       199 |        20 |          2 |   2450491 |    855624721
+ Tue Feb 11 17:32:01 1997 PST    |       199 |        20 |          2 |   2450492 |    855711121
+ Wed Feb 12 17:32:01 1997 PST    |       199 |        20 |          2 |   2450493 |    855797521
+ Thu Feb 13 17:32:01 1997 PST    |       199 |        20 |          2 |   2450494 |    855883921
+ Fri Feb 14 17:32:01 1997 PST    |       199 |        20 |          2 |   2450495 |    855970321
+ Sat Feb 15 17:32:01 1997 PST    |       199 |        20 |          2 |   2450496 |    856056721
+ Sun Feb 16 17:32:01 1997 PST    |       199 |        20 |          2 |   2450497 |    856143121
+ Tue Feb 16 17:32:01 0097 PST BC |       -10 |        -1 |         -1 |   1686043 | -65192682479
+ Sat Feb 16 17:32:01 0097 PST    |         9 |         1 |          1 |   1756537 | -59102000879
+ Thu Feb 16 17:32:01 0597 PST    |        59 |         6 |          1 |   1939158 | -43323546479
+ Tue Feb 16 17:32:01 1097 PST    |       109 |        11 |          2 |   2121779 | -27545092079
+ Sat Feb 16 17:32:01 1697 PST    |       169 |        17 |          2 |   2340925 |  -8610877679
+ Thu Feb 16 17:32:01 1797 PST    |       179 |        18 |          2 |   2377449 |  -5455204079
+ Tue Feb 16 17:32:01 1897 PST    |       189 |        19 |          2 |   2413973 |  -2299530479
+ Sun Feb 16 17:32:01 1997 PST    |       199 |        20 |          2 |   2450497 |    856143121
+ Sat Feb 16 17:32:01 2097 PST    |       209 |        21 |          3 |   2487022 |   4011903121
+ Wed Feb 28 17:32:01 1996 PST    |       199 |        20 |          2 |   2450143 |    825557521
+ Thu Feb 29 17:32:01 1996 PST    |       199 |        20 |          2 |   2450144 |    825643921
+ Fri Mar 01 17:32:01 1996 PST    |       199 |        20 |          2 |   2450145 |    825730321
+ Mon Dec 30 17:32:01 1996 PST    |       199 |        20 |          2 |   2450449 |    851995921
+ Tue Dec 31 17:32:01 1996 PST    |       199 |        20 |          2 |   2450450 |    852082321
+ Wed Jan 01 17:32:01 1997 PST    |       199 |        20 |          2 |   2450451 |    852168721
+ Fri Feb 28 17:32:01 1997 PST    |       199 |        20 |          2 |   2450509 |    857179921
+ Sat Mar 01 17:32:01 1997 PST    |       199 |        20 |          2 |   2450510 |    857266321
+ Tue Dec 30 17:32:01 1997 PST    |       199 |        20 |          2 |   2450814 |    883531921
+ Wed Dec 31 17:32:01 1997 PST    |       199 |        20 |          2 |   2450815 |    883618321
+ Fri Dec 31 17:32:01 1999 PST    |       199 |        20 |          2 |   2451545 |    946690321
+ Sat Jan 01 17:32:01 2000 PST    |       200 |        20 |          2 |   2451546 |    946776721
+ Sun Dec 31 17:32:01 2000 PST    |       200 |        20 |          2 |   2451911 |    978312721
+ Mon Jan 01 17:32:01 2001 PST    |       200 |        21 |          3 |   2451912 |    978399121
 (66 rows)
 
 SELECT d1 as timestamptz,
index 7a734fb1a0562dd3f4bf584ce3c264ab034a2bdf..1cdd6bdca1273f4c8d18e48f8d2d12782c20dcab 100644 (file)
@@ -239,8 +239,6 @@ SELECT f1 as "date",
 -- epoch
 --
 SELECT EXTRACT(EPOCH FROM DATE        '1970-01-01');     --  0
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   '1970-01-01');     --  0
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1970-01-01+00');  --  0
 --
 -- century
 --
@@ -276,12 +274,6 @@ SELECT EXTRACT(DECADE FROM DATE '0002-12-31 BC'); --  -1
 SELECT EXTRACT(DECADE FROM DATE '0011-01-01 BC'); --  -1
 SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); --  -2
 --
--- some other types:
---
--- on a timestamp.
-SELECT EXTRACT(CENTURY FROM NOW())>=21 AS True;       -- true
-SELECT EXTRACT(CENTURY FROM TIMESTAMP '1970-03-20 04:30:00.00000'); -- 20
---
 -- all possible fields
 --
 SELECT EXTRACT(MICROSECONDS  FROM DATE '2020-08-11');
@@ -327,14 +319,10 @@ select 'infinity'::date > 'today'::date as t;
 select '-infinity'::date < 'today'::date as t;
 select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
 --
--- oscillating fields from non-finite date/timestamptz:
+-- oscillating fields from non-finite date:
 --
 SELECT EXTRACT(HOUR FROM DATE 'infinity');      -- NULL
 SELECT EXTRACT(HOUR FROM DATE '-infinity');     -- NULL
-SELECT EXTRACT(HOUR FROM TIMESTAMP   'infinity');      -- NULL
-SELECT EXTRACT(HOUR FROM TIMESTAMP   '-infinity');     -- NULL
-SELECT EXTRACT(HOUR FROM TIMESTAMPTZ 'infinity');      -- NULL
-SELECT EXTRACT(HOUR FROM TIMESTAMPTZ '-infinity');     -- NULL
 -- all possible fields
 SELECT EXTRACT(MICROSECONDS  FROM DATE 'infinity');    -- NULL
 SELECT EXTRACT(MILLISECONDS  FROM DATE 'infinity');    -- NULL
@@ -352,14 +340,10 @@ SELECT EXTRACT(TIMEZONE      FROM DATE 'infinity');    -- NULL
 SELECT EXTRACT(TIMEZONE_M    FROM DATE 'infinity');    -- NULL
 SELECT EXTRACT(TIMEZONE_H    FROM DATE 'infinity');    -- NULL
 --
--- monotonic fields from non-finite date/timestamptz:
+-- monotonic fields from non-finite date:
 --
 SELECT EXTRACT(EPOCH FROM DATE 'infinity');         --  Infinity
 SELECT EXTRACT(EPOCH FROM DATE '-infinity');        -- -Infinity
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   'infinity');  --  Infinity
-SELECT EXTRACT(EPOCH FROM TIMESTAMP   '-infinity'); -- -Infinity
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ 'infinity');  --  Infinity
-SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '-infinity'); -- -Infinity
 -- all possible fields
 SELECT EXTRACT(YEAR       FROM DATE 'infinity');    --  Infinity
 SELECT EXTRACT(DECADE     FROM DATE 'infinity');    --  Infinity
index 256b96163ddab80d583f219835da4b25b9546840..78116a38e837f8d59ec150931ca092d7cec2346d 100644 (file)
@@ -256,7 +256,8 @@ SELECT d1 as "timestamp",
    date_part( 'decade', d1) AS decade,
    date_part( 'century', d1) AS century,
    date_part( 'millennium', d1) AS millennium,
-   round(date_part( 'julian', d1)) AS julian
+   round(date_part( 'julian', d1)) AS julian,
+   date_part( 'epoch', d1) AS epoch
    FROM TIMESTAMP_TBL;
 
 -- TO_CHAR()
index ae17e68a615ce0e29d83c1840ee03e1c1fe3a73a..7ad6edcd61c2ea7a8c94a78b496c78c308612de9 100644 (file)
@@ -262,7 +262,8 @@ SELECT d1 as timestamptz,
    date_part( 'decade', d1) AS decade,
    date_part( 'century', d1) AS century,
    date_part( 'millennium', d1) AS millennium,
-   round(date_part( 'julian', d1)) AS julian
+   round(date_part( 'julian', d1)) AS julian,
+   date_part( 'epoch', d1) AS epoch
    FROM TIMESTAMPTZ_TBL;
 
 SELECT d1 as timestamptz,