Clean up date_part tests a bit

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.
This commit is contained in:
Peter Eisentraut 2021-03-29 17:53:30 +02:00
parent f37fec837c
commit efcc7572f5
6 changed files with 147 additions and 235 deletions

View File

@ -971,18 +971,6 @@ SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); -- 0
0 0
(1 row) (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 -- century
-- --
@ -1137,22 +1125,6 @@ SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); -- -2
-2 -2
(1 row) (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 -- all possible fields
-- --
@ -1370,7 +1342,7 @@ select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'
(1 row) (1 row)
-- --
-- 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
date_part date_part
@ -1384,30 +1356,6 @@ SELECT EXTRACT(HOUR FROM DATE '-infinity'); -- NULL
(1 row) (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 -- all possible fields
SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL
date_part date_part
@ -1500,7 +1448,7 @@ SELECT EXTRACT(TIMEZONE_H FROM DATE 'infinity'); -- NULL
(1 row) (1 row)
-- --
-- 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
date_part date_part
@ -1514,30 +1462,6 @@ SELECT EXTRACT(EPOCH FROM DATE '-infinity'); -- -Infinity
-Infinity -Infinity
(1 row) (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 -- all possible fields
SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity
date_part date_part

View File

@ -931,75 +931,76 @@ SELECT d1 as "timestamp",
date_part( 'decade', d1) AS decade, date_part( 'decade', d1) AS decade,
date_part( 'century', d1) AS century, date_part( 'century', d1) AS century,
date_part( 'millennium', d1) AS millennium, 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; FROM TIMESTAMP_TBL;
timestamp | decade | century | millennium | julian timestamp | decade | century | millennium | julian | epoch
-----------------------------+-----------+-----------+------------+----------- -----------------------------+-----------+-----------+------------+-----------+--------------
-infinity | -Infinity | -Infinity | -Infinity | -Infinity -infinity | -Infinity | -Infinity | -Infinity | -Infinity | -Infinity
infinity | Infinity | Infinity | Infinity | Infinity infinity | Infinity | Infinity | Infinity | Infinity | Infinity
Thu Jan 01 00:00:00 1970 | 197 | 20 | 2 | 2440588 Thu Jan 01 00:00:00 1970 | 197 | 20 | 2 | 2440588 | 0
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:02 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:02 1997 | 199 | 20 | 2 | 2450491 | 855595922
Mon Feb 10 17:32:01.4 1997 | 199 | 20 | 2 | 2450491 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 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 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 Thu Jan 02 00:00:00 1997 | 199 | 20 | 2 | 2450451 | 852163200
Thu Jan 02 03:04:05 1997 | 199 | 20 | 2 | 2450451 Thu Jan 02 03:04:05 1997 | 199 | 20 | 2 | 2450451 | 852174245
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Tue Jun 10 17:32:01 1997 | 199 | 20 | 2 | 2450611 Tue Jun 10 17:32:01 1997 | 199 | 20 | 2 | 2450611 | 865963921
Sat Sep 22 18:19:20 2001 | 200 | 21 | 3 | 2452176 Sat Sep 22 18:19:20 2001 | 200 | 21 | 3 | 2452176 | 1001182760
Wed Mar 15 08:14:01 2000 | 200 | 20 | 2 | 2451619 Wed Mar 15 08:14:01 2000 | 200 | 20 | 2 | 2451619 | 953108041
Wed Mar 15 13:14:02 2000 | 200 | 20 | 2 | 2451620 Wed Mar 15 13:14:02 2000 | 200 | 20 | 2 | 2451620 | 953126042
Wed Mar 15 12:14:03 2000 | 200 | 20 | 2 | 2451620 Wed Mar 15 12:14:03 2000 | 200 | 20 | 2 | 2451620 | 953122443
Wed Mar 15 03:14:04 2000 | 200 | 20 | 2 | 2451619 Wed Mar 15 03:14:04 2000 | 200 | 20 | 2 | 2451619 | 953090044
Wed Mar 15 02:14:05 2000 | 200 | 20 | 2 | 2451619 Wed Mar 15 02:14:05 2000 | 200 | 20 | 2 | 2451619 | 953086445
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:00 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:00 1997 | 199 | 20 | 2 | 2450491 | 855595920
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Tue Jun 10 18:32:01 1997 | 199 | 20 | 2 | 2450611 Tue Jun 10 18:32:01 1997 | 199 | 20 | 2 | 2450611 | 865967521
Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 Mon Feb 10 17:32:01 1997 | 199 | 20 | 2 | 2450491 | 855595921
Tue Feb 11 17:32:01 1997 | 199 | 20 | 2 | 2450492 Tue Feb 11 17:32:01 1997 | 199 | 20 | 2 | 2450492 | 855682321
Wed Feb 12 17:32:01 1997 | 199 | 20 | 2 | 2450493 Wed Feb 12 17:32:01 1997 | 199 | 20 | 2 | 2450493 | 855768721
Thu Feb 13 17:32:01 1997 | 199 | 20 | 2 | 2450494 Thu Feb 13 17:32:01 1997 | 199 | 20 | 2 | 2450494 | 855855121
Fri Feb 14 17:32:01 1997 | 199 | 20 | 2 | 2450495 Fri Feb 14 17:32:01 1997 | 199 | 20 | 2 | 2450495 | 855941521
Sat Feb 15 17:32:01 1997 | 199 | 20 | 2 | 2450496 Sat Feb 15 17:32:01 1997 | 199 | 20 | 2 | 2450496 | 856027921
Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 | 856114321
Tue Feb 16 17:32:01 0097 BC | -10 | -1 | -1 | 1686043 Tue Feb 16 17:32:01 0097 BC | -10 | -1 | -1 | 1686043 | -65192711279
Sat Feb 16 17:32:01 0097 | 9 | 1 | 1 | 1756537 Sat Feb 16 17:32:01 0097 | 9 | 1 | 1 | 1756537 | -59102029679
Thu Feb 16 17:32:01 0597 | 59 | 6 | 1 | 1939158 Thu Feb 16 17:32:01 0597 | 59 | 6 | 1 | 1939158 | -43323575279
Tue Feb 16 17:32:01 1097 | 109 | 11 | 2 | 2121779 Tue Feb 16 17:32:01 1097 | 109 | 11 | 2 | 2121779 | -27545120879
Sat Feb 16 17:32:01 1697 | 169 | 17 | 2 | 2340925 Sat Feb 16 17:32:01 1697 | 169 | 17 | 2 | 2340925 | -8610906479
Thu Feb 16 17:32:01 1797 | 179 | 18 | 2 | 2377449 Thu Feb 16 17:32:01 1797 | 179 | 18 | 2 | 2377449 | -5455232879
Tue Feb 16 17:32:01 1897 | 189 | 19 | 2 | 2413973 Tue Feb 16 17:32:01 1897 | 189 | 19 | 2 | 2413973 | -2299559279
Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 Sun Feb 16 17:32:01 1997 | 199 | 20 | 2 | 2450497 | 856114321
Sat Feb 16 17:32:01 2097 | 209 | 21 | 3 | 2487022 Sat Feb 16 17:32:01 2097 | 209 | 21 | 3 | 2487022 | 4011874321
Wed Feb 28 17:32:01 1996 | 199 | 20 | 2 | 2450143 Wed Feb 28 17:32:01 1996 | 199 | 20 | 2 | 2450143 | 825528721
Thu Feb 29 17:32:01 1996 | 199 | 20 | 2 | 2450144 Thu Feb 29 17:32:01 1996 | 199 | 20 | 2 | 2450144 | 825615121
Fri Mar 01 17:32:01 1996 | 199 | 20 | 2 | 2450145 Fri Mar 01 17:32:01 1996 | 199 | 20 | 2 | 2450145 | 825701521
Mon Dec 30 17:32:01 1996 | 199 | 20 | 2 | 2450449 Mon Dec 30 17:32:01 1996 | 199 | 20 | 2 | 2450449 | 851967121
Tue Dec 31 17:32:01 1996 | 199 | 20 | 2 | 2450450 Tue Dec 31 17:32:01 1996 | 199 | 20 | 2 | 2450450 | 852053521
Wed Jan 01 17:32:01 1997 | 199 | 20 | 2 | 2450451 Wed Jan 01 17:32:01 1997 | 199 | 20 | 2 | 2450451 | 852139921
Fri Feb 28 17:32:01 1997 | 199 | 20 | 2 | 2450509 Fri Feb 28 17:32:01 1997 | 199 | 20 | 2 | 2450509 | 857151121
Sat Mar 01 17:32:01 1997 | 199 | 20 | 2 | 2450510 Sat Mar 01 17:32:01 1997 | 199 | 20 | 2 | 2450510 | 857237521
Tue Dec 30 17:32:01 1997 | 199 | 20 | 2 | 2450814 Tue Dec 30 17:32:01 1997 | 199 | 20 | 2 | 2450814 | 883503121
Wed Dec 31 17:32:01 1997 | 199 | 20 | 2 | 2450815 Wed Dec 31 17:32:01 1997 | 199 | 20 | 2 | 2450815 | 883589521
Fri Dec 31 17:32:01 1999 | 199 | 20 | 2 | 2451545 Fri Dec 31 17:32:01 1999 | 199 | 20 | 2 | 2451545 | 946661521
Sat Jan 01 17:32:01 2000 | 200 | 20 | 2 | 2451546 Sat Jan 01 17:32:01 2000 | 200 | 20 | 2 | 2451546 | 946747921
Sun Dec 31 17:32:01 2000 | 200 | 20 | 2 | 2451911 Sun Dec 31 17:32:01 2000 | 200 | 20 | 2 | 2451911 | 978283921
Mon Jan 01 17:32:01 2001 | 200 | 21 | 3 | 2451912 Mon Jan 01 17:32:01 2001 | 200 | 21 | 3 | 2451912 | 978370321
(65 rows) (65 rows)
-- TO_CHAR() -- TO_CHAR()

View File

@ -1022,76 +1022,77 @@ SELECT d1 as timestamptz,
date_part( 'decade', d1) AS decade, date_part( 'decade', d1) AS decade,
date_part( 'century', d1) AS century, date_part( 'century', d1) AS century,
date_part( 'millennium', d1) AS millennium, 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; FROM TIMESTAMPTZ_TBL;
timestamptz | decade | century | millennium | julian timestamptz | decade | century | millennium | julian | epoch
---------------------------------+-----------+-----------+------------+----------- ---------------------------------+-----------+-----------+------------+-----------+--------------
-infinity | -Infinity | -Infinity | -Infinity | -Infinity -infinity | -Infinity | -Infinity | -Infinity | -Infinity | -Infinity
infinity | Infinity | Infinity | Infinity | Infinity infinity | Infinity | Infinity | Infinity | Infinity | Infinity
Wed Dec 31 16:00:00 1969 PST | 196 | 20 | 2 | 2440588 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Mon Jan 01 17:32:01 2001 PST | 200 | 21 | 3 | 2451912 | 978399121
(66 rows) (66 rows)
SELECT d1 as timestamptz, SELECT d1 as timestamptz,

View File

@ -239,8 +239,6 @@ SELECT f1 as "date",
-- epoch -- epoch
-- --
SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); -- 0 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 -- 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 '0011-01-01 BC'); -- -1
SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); -- -2 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 -- all possible fields
-- --
SELECT EXTRACT(MICROSECONDS FROM DATE '2020-08-11'); 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 '-infinity'::date < 'today'::date as t;
select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date); 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 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 -- all possible fields
SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL SELECT EXTRACT(MICROSECONDS FROM DATE 'infinity'); -- NULL
SELECT EXTRACT(MILLISECONDS 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_M FROM DATE 'infinity'); -- NULL
SELECT EXTRACT(TIMEZONE_H 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 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 -- all possible fields
SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity
SELECT EXTRACT(DECADE FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(DECADE FROM DATE 'infinity'); -- Infinity

View File

@ -256,7 +256,8 @@ SELECT d1 as "timestamp",
date_part( 'decade', d1) AS decade, date_part( 'decade', d1) AS decade,
date_part( 'century', d1) AS century, date_part( 'century', d1) AS century,
date_part( 'millennium', d1) AS millennium, 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; FROM TIMESTAMP_TBL;
-- TO_CHAR() -- TO_CHAR()

View File

@ -262,7 +262,8 @@ SELECT d1 as timestamptz,
date_part( 'decade', d1) AS decade, date_part( 'decade', d1) AS decade,
date_part( 'century', d1) AS century, date_part( 'century', d1) AS century,
date_part( 'millennium', d1) AS millennium, 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; FROM TIMESTAMPTZ_TBL;
SELECT d1 as timestamptz, SELECT d1 as timestamptz,