Commit a64d3bc4 authored by Bruce Momjian's avatar Bruce Momjian

Solaris has always had problems with 1947 in the

regression tests so I prepared a set of expected
files to make things look OK.

There's also a file to account for minor variations
in the geopmetry output and a resultmap patch to
pull them all together.

With these changes PostgreSQL, from CVS, builds and
regression tests (runcheck) cleanly.

Keith Parks.
parent 81fc1d5e
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
.\" $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.3 2000/01/22 23:50:08 tgl Exp $
.\" $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.4 2000/02/06 05:09:31 momjian Exp $
.TH "SYSTEM CATALOGS" INTRO 03/13/94 PostgreSQL PostgreSQL
.SH "Section 7 - System Catalogs"
.de LS
......@@ -28,7 +28,7 @@ These catalogs form the core of the extensibility system:
pg_amproc local procedures used with specific access methods
pg_attribute local class attributes
pg_class local classes
pg_index local secondary indices
pg_index local indices
pg_inherits local class inheritance hierarchy
pg_language local procedure implementation languages
pg_opclass local operator classes
......
......@@ -2,8 +2,8 @@
<title>Copyrights and Trademarks</title>
<para>
<productname>PostgreSQL</productname> is Copyright &copy; 1996-9
by the PostgreSQL Global Development Group,
<productname>PostgreSQL</productname> is Copyright &copy; 1996-2000
by the PostgreSQL Inc.
and is distributed under the terms of the Berkeley license.
</para>
......
abbrev|name_en |name_gr
------+--------------------+------------------------------------------------------------
AK |Alaska |
AL |Alabama |
AZ |Arizona |
AR |Arkansas |
ID |Idaho |
IA |Iowa |
VT |Vermont |
VA |Virginia |
NC |North Carolina |
ND |North Dakota |
UT |Utah |
WY |Wyoming |
WV |West Virginia |
WI |Wisconsin |
WA |Washington |
DC |Washington DC |
IL |Illinois |
IN |Indiana |
KA |Kansas |
CA |California |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
ME |Maine |
MI |Michigan |
MD |Maryland |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MT |Montana |
NJ |New Jersey |
NY |New York |
NM |New Mexico |
NH |New Hampshire |
NV |Nevada |
NE |Nebraska |
DE |Delaware |
SC |South Carolina |
SD |South Dakota |
OK |Oklahoma |
OR |Oregon |
OH |Ohio |
PA |Pennsylvania |
RI |Rhode Island |
TX |Texas |
TN |Tennessee |
GA |Georgia |
FL |Florida |
abbrev | name_en | name_gr
--------+----------------------+--------------------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
VT | Vermont |
VA | Virginia |
NC | North Carolina |
ND | North Dakota |
FL | Florida |
IL | Illinois |
IN | Indiana |
CA | California |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
KA | Kansas |
LA | Louisiana |
MA | Massachusetts |
MD | Maryland |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MT | Montana |
ME | Maine |
MI | Michigan |
NV | Nevada |
NE | Nebraska |
DE | Delaware |
NJ | New Jersey |
NY | New York |
NH | New Hampshire |
NM | New Mexico |
SC | South Carolina |
SD | South Dakota |
OH | Ohio |
OK | Oklahoma |
OR | Oregon |
PA | Pennsylvania |
TN | Tennessee |
GA | Georgia |
TX | Texas |
UT | Utah |
WY | Wyoming |
WV | West Virginia |
WI | Wisconsin |
WA | Washington |
DC | Washington DC |
RI | Rhode Island |
(50 rows)
EOF
abbrev|name_en |name_gr
------+--------------------+------------------
UT |Utah |
WY |Wyoming |
WV |West Virginia |
WI |Wisconsin |
WA |Washington |
DC |Washington DC |
abbrev | name_en | name_gr
--------+----------------------+--------------------
UT | Utah |
WY | Wyoming |
WV | West Virginia |
WI | Wisconsin |
WA | Washington |
DC | Washington DC |
(6 rows)
EOF
abbrev|name_en |name_gr
------+--------------------+------------------
AK |Alaska |
AL |Alabama |
AZ |Arizona |
AR |Arkansas |
ID |Idaho |
IA |Iowa |
VT |Vermont |
VA |Virginia |
NC |North Carolina |
ND |North Dakota |
UT |Utah |
WY |Wyoming |
WV |West Virginia |
WI |Wisconsin |
WA |Washington |
DC |Washington DC |
IL |Illinois |
IN |Indiana |
KA |Kansas |
CA |California |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
ME |Maine |
MI |Michigan |
MD |Maryland |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MT |Montana |
NJ |New Jersey |
NY |New York |
NM |New Mexico |
NH |New Hampshire |
NV |Nevada |
NE |Nebraska |
DE |Delaware |
SC |South Carolina |
SD |South Dakota |
OK |Oklahoma |
OR |Oregon |
OH |Ohio |
PA |Pennsylvania |
RI |Rhode Island |
TX |Texas |
TN |Tennessee |
GA |Georgia |
FL |Florida |
abbrev | name_en | name_gr
--------+----------------------+--------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
VT | Vermont |
VA | Virginia |
NC | North Carolina |
ND | North Dakota |
FL | Florida |
IL | Illinois |
IN | Indiana |
CA | California |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
KA | Kansas |
LA | Louisiana |
MA | Massachusetts |
MD | Maryland |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MT | Montana |
ME | Maine |
MI | Michigan |
NV | Nevada |
NE | Nebraska |
DE | Delaware |
NJ | New Jersey |
NY | New York |
NH | New Hampshire |
NM | New Mexico |
SC | South Carolina |
SD | South Dakota |
OH | Ohio |
OK | Oklahoma |
OR | Oregon |
PA | Pennsylvania |
TN | Tennessee |
GA | Georgia |
TX | Texas |
UT | Utah |
WY | Wyoming |
WV | West Virginia |
WI | Wisconsin |
WA | Washington |
DC | Washington DC |
RI | Rhode Island |
(50 rows)
EOF
abbrev|name_en |name_gr
------+--------------------+------------------
AK |Alaska |
AL |Alabama |
AZ |Arizona |
AR |Arkansas |
ID |Idaho |
IA |Iowa |
VT |Vermont |
VA |Virginia |
NC |North Carolina |
ND |North Dakota |
UT |Utah |
WY |Wyoming |
WV |West Virginia |
WI |Wisconsin |
WA |Washington |
DC |Washington DC |
IL |Illinois |
IN |Indiana |
KA |Kansas |
CA |California |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
ME |Maine |
MI |Michigan |
MD |Maryland |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MT |Montana |
NJ |New Jersey |
NY |New York |
NM |New Mexico |
NH |New Hampshire |
NV |Nevada |
NE |Nebraska |
DE |Delaware |
SC |South Carolina |
SD |South Dakota |
OK |Oklahoma |
OR |Oregon |
OH |Ohio |
PA |Pennsylvania |
RI |Rhode Island |
TX |Texas |
TN |Tennessee |
GA |Georgia |
FL |Florida |
abbrev | name_en | name_gr
--------+----------------------+--------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
VT | Vermont |
VA | Virginia |
NC | North Carolina |
ND | North Dakota |
FL | Florida |
IL | Illinois |
IN | Indiana |
CA | California |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
KA | Kansas |
LA | Louisiana |
MA | Massachusetts |
MD | Maryland |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MT | Montana |
ME | Maine |
MI | Michigan |
NV | Nevada |
NE | Nebraska |
DE | Delaware |
NJ | New Jersey |
NY | New York |
NH | New Hampshire |
NM | New Mexico |
SC | South Carolina |
SD | South Dakota |
OH | Ohio |
OK | Oklahoma |
OR | Oregon |
PA | Pennsylvania |
TN | Tennessee |
GA | Georgia |
TX | Texas |
UT | Utah |
WY | Wyoming |
WV | West Virginia |
WI | Wisconsin |
WA | Washington |
DC | Washington DC |
RI | Rhode Island |
(50 rows)
EOF
......@@ -39,7 +39,7 @@ for f in char varchar text; do
fi
echo "Testing PgSQL: sort on $ftype type..."
destroydb testlocale >/dev/null 2>&1
dropdb testlocale >/dev/null 2>&1
createdb testlocale || abort "createdb failed"
psql -d testlocale -c "CREATE TABLE usastates (abbrev char(2), name_en char(20), name_gr $ftype);" >/dev/null 2>&1 || abort "createtable failed"
psql testlocale < test-gr.sql.in > test-gr-$f.sql.out 2>/dev/null || abort "test query failed"
......@@ -48,5 +48,5 @@ done
echo "Testing PgSQL: select on regexp..."
psql testlocale < test-gr-select.sql.in > test-gr-select.sql.out 2>/dev/null || abort "select query failed"
diff expected/test-gr-select.sql.out test-gr-select.sql.out
destroydb testlocale || abort "destroydb failed"
dropdb testlocale || abort "dropdb failed"
echo "Finished."
abbrev|name_en |name_ru
------+--------------------+------------------------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+--------------------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
(4 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
......@@ -39,7 +39,7 @@ for f in char varchar text; do
fi
echo "Testing PgSQL: sort on $ftype type..."
destroydb testlocale >/dev/null 2>&1
dropdb testlocale >/dev/null 2>&1
createdb testlocale || abort "createdb failed"
psql -d testlocale -c "CREATE TABLE usastates (abbrev char(2), name_en char(20), name_ru $ftype);" >/dev/null 2>&1 || abort "createtable failed"
psql testlocale < test-koi8.sql.in > test-koi8-$f.sql.out 2>/dev/null || abort "test query failed"
......@@ -48,5 +48,5 @@ done
echo "Testing PgSQL: select on regexp..."
psql testlocale < test-koi8-select.sql.in > test-koi8-select.sql.out 2>/dev/null || abort "select query failed"
diff expected/test-koi8-select.sql.out test-koi8-select.sql.out
destroydb testlocale || abort "destroydb failed"
dropdb testlocale || abort "dropdb failed"
echo "Finished."
abbrev|name_en |name_ru
------+--------------------+------------------------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+--------------------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
(4 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
abbrev|name_en |name_ru
------+--------------------+----------------------------------------------
ID |Idaho |
IA |Iowa |
AL |Alabama |
AK |Alaska |
AZ |Arizona |
AR |Arkansas |
WY |Wyoming |
WA |Washington |
VT |Vermont |
VA |Virginia |
WI |Wisconsin |
DE |Delaware |
GA |Georgia |
WV |West Virginia |
IL |Illinois |
IN |Indiana |
CA |California |
KA |Kansas |
KY |Kentucky |
CO |Colorado |
CT |Connecticut |
LA |Louisiana |
MA |Massachusetts |
MN |Minnesota |
MS |Mississippi |
MO |Missouri |
MI |Michigan |
MT |Montana |
ME |Maine |
MD |Maryland |
NE |Nebraska |
NV |Nevada |
NH |New Hampshire |-
NJ |New Jersey |-
NY |New York |-
NM |New Mexico |-
OH |Ohio |
OK |Oklahoma |
DC |Washington DC | ( )
OR |Oregon |
PA |Pennsylvania |
RI |Rhode Island |-
ND |North Dakota |
NC |North Carolina |
TN |Tennessee |
TX |Texas |
FL |Florida |
SD |South Dakota |
SC |South Carolina |
UT |Utah |
abbrev | name_en | name_ru
--------+----------------------+------------------------------------------------
ID | Idaho |
IA | Iowa |
AL | Alabama |
AK | Alaska |
AZ | Arizona |
AR | Arkansas |
WY | Wyoming |
WA | Washington |
VT | Vermont |
VA | Virginia |
WI | Wisconsin |
DE | Delaware |
GA | Georgia |
WV | West Virginia |
IL | Illinois |
IN | Indiana |
CA | California |
KA | Kansas |
KY | Kentucky |
CO | Colorado |
CT | Connecticut |
LA | Louisiana |
MA | Massachusetts |
MN | Minnesota |
MS | Mississippi |
MO | Missouri |
MI | Michigan |
MT | Montana |
ME | Maine |
MD | Maryland |
NE | Nebraska |
NV | Nevada |
NH | New Hampshire | -
NJ | New Jersey | -
NY | New York | -
NM | New Mexico | -
OH | Ohio |
OK | Oklahoma |
DC | Washington DC | ( )
OR | Oregon |
PA | Pennsylvania |
RI | Rhode Island | -
ND | North Dakota |
NC | North Carolina |
TN | Tennessee |
TX | Texas |
FL | Florida |
SD | South Dakota |
SC | South Carolina |
UT | Utah |
(50 rows)
EOF
......@@ -36,7 +36,7 @@ for f in char varchar text; do
fi
echo "Testing PgSQL: sort on $ftype type..."
destroydb testlocale >/dev/null 2>&1
dropdb testlocale >/dev/null 2>&1
createdb testlocale || abort "createdb failed"
psql -d testlocale -c "CREATE TABLE usastates (abbrev char(2), name_en char(20), name_ru $ftype);" >/dev/null 2>&1 || abort "createtable failed"
psql testlocale < test-koi8.sql.in > test-koi8-$f.sql.out 2>/dev/null || abort "test query failed"
......@@ -45,5 +45,5 @@ done
echo "Testing PgSQL: select on regexp..."
psql testlocale < test-koi8-select.sql.in > test-koi8-select.sql.out 2>/dev/null || abort "select query failed"
diff expected/test-koi8-select.sql.out test-koi8-select.sql.out
destroydb testlocale || abort "destroydb failed"
dropdb testlocale || abort "dropdb failed"
echo "Finished."
--
-- ABSTIME
-- testing built-in time type abstime
-- uses reltime and tinterval
--
--
-- timezones may vary based not only on location but the operating
-- system. the main correctness issue is that the OS may not get
-- daylight savings time right for times prior to Unix epoch (jan 1 1970).
--
CREATE TABLE ABSTIME_TBL (f1 abstime);
INSERT INTO ABSTIME_TBL (f1) VALUES ('Jan 14, 1973 03:14:21');
-- was INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'now'):
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'Mon May 1 00:30:30 1995');
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'epoch');
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'current');
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'infinity');
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime '-infinity');
INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'May 10, 1947 23:59:12');
-- what happens if we specify slightly misformatted abstime?
INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 35, 1946 10:00:00');
ERROR: Bad abstime external representation 'Feb 35, 1946 10:00:00'
INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 28, 1984 25:08:10');
ERROR: Bad abstime external representation 'Feb 28, 1984 25:08:10'
-- badly formatted abstimes: these should result in invalid abstimes
INSERT INTO ABSTIME_TBL (f1) VALUES ('bad date format');
ERROR: Bad abstime external representation 'bad date format'
INSERT INTO ABSTIME_TBL (f1) VALUES ('Jun 10, 1843');
-- test abstime operators
SELECT '' AS eight, ABSTIME_TBL.*;
eight | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
| Sat May 10 23:59:12 1947 PDT
| invalid
(8 rows)
SELECT '' AS six, ABSTIME_TBL.*
WHERE ABSTIME_TBL.f1 < abstime 'Jun 30, 2001';
six | f1
-----+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| -infinity
| Sat May 10 23:59:12 1947 PDT
(6 rows)
SELECT '' AS six, ABSTIME_TBL.*
WHERE ABSTIME_TBL.f1 > abstime '-infinity';
six | f1
-----+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| infinity
| Sat May 10 23:59:12 1947 PDT
(6 rows)
SELECT '' AS six, ABSTIME_TBL.*
WHERE abstime 'May 10, 1947 23:59:12' <> ABSTIME_TBL.f1;
six | f1
-----+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
(6 rows)
SELECT '' AS one, ABSTIME_TBL.*
WHERE abstime 'current' = ABSTIME_TBL.f1;
one | f1
-----+---------
| current
(1 row)
SELECT '' AS three, ABSTIME_TBL.*
WHERE abstime 'epoch' >= ABSTIME_TBL.f1;
three | f1
-------+------------------------------
| epoch
| -infinity
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS four, ABSTIME_TBL.*
WHERE ABSTIME_TBL.f1 <= abstime 'Jan 14, 1973 03:14:21';
four | f1
------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| -infinity
| Sat May 10 23:59:12 1947 PDT
(4 rows)
SELECT '' AS four, ABSTIME_TBL.*
WHERE ABSTIME_TBL.f1 <?>
tinterval '["Apr 1 1950 00:00:00" "Dec 30 1999 23:00:00"]';
four | f1
------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
(3 rows)
-- these four queries should return the same answer
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
-- therefore, should not show up in the results.
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years
< abstime 'Jan 14 14:00:00 1971';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS three, ABSTIME_TBL.*
WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years
< abstime 'Jan 14 14:00:00 1977';
three | f1
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| epoch
| Sat May 10 23:59:12 1947 PDT
(3 rows)
SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
< abstime 'Jan 14 14:00:00 1971'
ORDER BY abstime, reltime;
ten | abstime | reltime
-----+------------------------------+---------------
| Sat May 10 23:59:12 1947 PDT | @ 14 secs ago
| Sat May 10 23:59:12 1947 PDT | @ 1 min
| Sat May 10 23:59:12 1947 PDT | @ 5 hours
| Sat May 10 23:59:12 1947 PDT | @ 10 days
| Sat May 10 23:59:12 1947 PDT | @ 3 mons
| epoch | @ 14 secs ago
| epoch | @ 1 min
| epoch | @ 5 hours
| epoch | @ 10 days
| epoch | @ 3 mons
(10 rows)
--
-- GEOMETRY
--
--
-- Points
--
SELECT '' AS four, center(f1) AS center
FROM BOX_TBL;
four | center
------+---------
| (1,1)
| (2,2)
| (2.5,3)
| (3,3)
(4 rows)
SELECT '' AS four, (@@ f1) AS center
FROM BOX_TBL;
four | center
------+---------
| (1,1)
| (2,2)
| (2.5,3)
| (3,3)
(4 rows)
SELECT '' AS six, point(f1) AS center
FROM CIRCLE_TBL;
six | center
-----+-----------
| (0,0)
| (1,2)
| (1,3)
| (1,2)
| (100,200)
| (100,0)
(6 rows)
SELECT '' AS six, (@@ f1) AS center
FROM CIRCLE_TBL;
six | center
-----+-----------
| (0,0)
| (1,2)
| (1,3)
| (1,2)
| (100,200)
| (100,0)
(6 rows)
SELECT '' AS two, (@@ f1) AS center
FROM POLYGON_TBL
WHERE (# f1) > 2;
two | center
-----+-------------------------------------
| (1.33333333333333,1.33333333333333)
| (2.33333333333333,1.33333333333333)
(2 rows)
-- "is horizontal" function
SELECT '' AS two, p1.f1
FROM POINT_TBL p1
WHERE ishorizontal(p1.f1, point '(0,0)');
two | f1
-----+---------
| (0,0)
| (-10,0)
(2 rows)
-- "is horizontal" operator
SELECT '' AS two, p1.f1
FROM POINT_TBL p1
WHERE p1.f1 ?- point '(0,0)';
two | f1
-----+---------
| (0,0)
| (-10,0)
(2 rows)
-- "is vertical" function
SELECT '' AS one, p1.f1
FROM POINT_TBL p1
WHERE isvertical(p1.f1, point '(5.1,34.5)');
one | f1
-----+------------
| (5.1,34.5)
(1 row)
-- "is vertical" operator
SELECT '' AS one, p1.f1
FROM POINT_TBL p1
WHERE p1.f1 ?| point '(5.1,34.5)';
one | f1
-----+------------
| (5.1,34.5)
(1 row)
--
-- Line segments
--
-- intersection
SELECT '' AS count, p.f1, l.s, l.s # p.f1 AS intersection
FROM LSEG_TBL l, POINT_TBL p;
ERROR: Unable to identify an operator '#' for types 'lseg' and 'point'
You will have to retype this query using an explicit cast
-- closest point
SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest
FROM LSEG_TBL l, POINT_TBL p;
thirty | f1 | s | closest
--------+------------+-------------------------------+---------------------------------------
| (0,0) | [(1,2),(3,4)] | (1,2)
| (-10,0) | [(1,2),(3,4)] | (1,2)
| (-3,4) | [(1,2),(3,4)] | (1,2)
| (5.1,34.5) | [(1,2),(3,4)] | (3,4)
| (-5,-12) | [(1,2),(3,4)] | (1,2)
| (10,10) | [(1,2),(3,4)] | (3,4)
| (0,0) | [(0,0),(6,6)] | (-0,0)
| (-10,0) | [(0,0),(6,6)] | (0,0)
| (-3,4) | [(0,0),(6,6)] | (0.5,0.5)
| (5.1,34.5) | [(0,0),(6,6)] | (6,6)
| (-5,-12) | [(0,0),(6,6)] | (0,0)
| (10,10) | [(0,0),(6,6)] | (6,6)
| (0,0) | [(10,-10),(-3,-4)] | (-2.04878048780488,-4.4390243902439)
| (-10,0) | [(10,-10),(-3,-4)] | (-3,-4)
| (-3,4) | [(10,-10),(-3,-4)] | (-3,-4)
| (5.1,34.5) | [(10,-10),(-3,-4)] | (-3,-4)
| (-5,-12) | [(10,-10),(-3,-4)] | (-1.60487804878049,-4.64390243902439)
| (10,10) | [(10,-10),(-3,-4)] | (2.39024390243902,-6.48780487804878)
| (0,0) | [(-1000000,200),(300000,-40)] | (0.0028402365895872,15.384614860264)
| (-10,0) | [(-1000000,200),(300000,-40)] | (-9.99715942258202,15.3864610140472)
| (-3,4) | [(-1000000,200),(300000,-40)] | (-2.99789812267519,15.3851688427303)
| (5.1,34.5) | [(-1000000,200),(300000,-40)] | (5.09647083221496,15.3836744976925)
| (-5,-12) | [(-1000000,200),(300000,-40)] | (-4.99494420845634,15.3855375281616)
| (10,10) | [(-1000000,200),(300000,-40)] | (10.000993741978,15.3827690473092)
| (0,0) | [(11,22),(33,44)] | (11,22)
| (-10,0) | [(11,22),(33,44)] | (11,22)
| (-3,4) | [(11,22),(33,44)] | (11,22)
| (5.1,34.5) | [(11,22),(33,44)] | (14.3,25.3)
| (-5,-12) | [(11,22),(33,44)] | (11,22)
| (10,10) | [(11,22),(33,44)] | (11,22)
(30 rows)
--
-- Lines
--
--
-- Boxes
--
SELECT '' as six, box(f1) AS box FROM CIRCLE_TBL;
six | box
-----+----------------------------------------------------------------------------
| (2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
| (71.7106781186547,72.7106781186547),(-69.7106781186547,-68.7106781186547)
| (4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932737)
| (3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559642)
| (107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
| (170.710678118655,70.7106781186547),(29.2893218813453,-70.7106781186547)
(6 rows)
-- translation
SELECT '' AS twentyfour, b.f1 + p.f1 AS translation
FROM BOX_TBL b, POINT_TBL p;
twentyfour | translation
------------+-------------------------
| (2,2),(0,0)
| (3,3),(1,1)
| (2.5,3.5),(2.5,2.5)
| (3,3),(3,3)
| (-8,2),(-10,0)
| (-7,3),(-9,1)
| (-7.5,3.5),(-7.5,2.5)
| (-7,3),(-7,3)
| (-1,6),(-3,4)
| (0,7),(-2,5)
| (-0.5,7.5),(-0.5,6.5)
| (0,7),(0,7)
| (7.1,36.5),(5.1,34.5)
| (8.1,37.5),(6.1,35.5)
| (7.6,38),(7.6,37)
| (8.1,37.5),(8.1,37.5)
| (-3,-10),(-5,-12)
| (-2,-9),(-4,-11)
| (-2.5,-8.5),(-2.5,-9.5)
| (-2,-9),(-2,-9)
| (12,12),(10,10)
| (13,13),(11,11)
| (12.5,13.5),(12.5,12.5)
| (13,13),(13,13)
(24 rows)
SELECT '' AS twentyfour, b.f1 - p.f1 AS translation
FROM BOX_TBL b, POINT_TBL p;
twentyfour | translation
------------+---------------------------
| (2,2),(0,0)
| (3,3),(1,1)
| (2.5,3.5),(2.5,2.5)
| (3,3),(3,3)
| (12,2),(10,0)
| (13,3),(11,1)
| (12.5,3.5),(12.5,2.5)
| (13,3),(13,3)
| (5,-2),(3,-4)
| (6,-1),(4,-3)
| (5.5,-0.5),(5.5,-1.5)
| (6,-1),(6,-1)
| (-3.1,-32.5),(-5.1,-34.5)
| (-2.1,-31.5),(-4.1,-33.5)
| (-2.6,-31),(-2.6,-32)
| (-2.1,-31.5),(-2.1,-31.5)
| (7,14),(5,12)
| (8,15),(6,13)
| (7.5,15.5),(7.5,14.5)
| (8,15),(8,15)
| (-8,-8),(-10,-10)
| (-7,-7),(-9,-9)
| (-7.5,-6.5),(-7.5,-7.5)
| (-7,-7),(-7,-7)
(24 rows)
-- scaling and rotation
SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation
FROM BOX_TBL b, POINT_TBL p;
twentyfour | rotation
------------+-----------------------------
| (0,0),(0,0)
| (0,0),(0,0)
| (0,0),(0,0)
| (0,0),(0,0)
| (-0,0),(-20,-20)
| (-10,-10),(-30,-30)
| (-25,-25),(-25,-35)
| (-30,-30),(-30,-30)
| (-0,2),(-14,0)
| (-7,3),(-21,1)
| (-17.5,2.5),(-21.5,-0.5)
| (-21,3),(-21,3)
| (0,79.2),(-58.8,0)
| (-29.4,118.8),(-88.2,39.6)
| (-73.5,104.1),(-108,99)
| (-88.2,118.8),(-88.2,118.8)
| (14,-0),(0,-34)
| (21,-17),(7,-51)
| (29.5,-42.5),(17.5,-47.5)
| (21,-51),(21,-51)
| (0,40),(0,0)
| (0,60),(0,20)
| (0,60),(-10,50)
| (0,60),(0,60)
(24 rows)
SELECT '' AS twenty, b.f1 / p.f1 AS rotation
FROM BOX_TBL b, POINT_TBL p
WHERE (p.f1 <-> point '(0,0)') >= 1;
twenty | rotation
--------+-----------------------------------------------------------------------------------
| (0,-0),(-0.2,-0.2)
| (-0.1,-0.1),(-0.3,-0.3)
| (-0.25,-0.25),(-0.25,-0.35)
| (-0.3,-0.3),(-0.3,-0.3)
| (0.08,-0),(0,-0.56)
| (0.12,-0.28),(0.04,-0.84)
| (0.26,-0.7),(0.1,-0.82)
| (0.12,-0.84),(0.12,-0.84)
| (0.0651176557643925,0),(0,-0.0483449262493217)
| (0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)
| (0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)
| (0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)
| (-0,0.0828402366863905),(-0.201183431952663,0)
| (-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)
| (-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)
| (-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)
| (0.2,0),(0,0)
| (0.3,0),(0.1,0)
| (0.3,0.05),(0.25,0)
| (0.3,0),(0.3,0)
(20 rows)
--
-- Paths
--
SET geqo TO 'off';
SELECT '' AS eight, points(f1) AS npoints, f1 AS path FROM PATH_TBL;
eight | npoints | path
-------+---------+---------------------------
| 2 | [(1,2),(3,4)]
| 2 | ((1,2),(3,4))
| 4 | [(0,0),(3,0),(4,5),(1,6)]
| 2 | ((1,2),(3,4))
| 2 | ((1,2),(3,4))
| 2 | [(1,2),(3,4)]
| 2 | [(11,12),(13,14)]
| 2 | ((11,12),(13,14))
(8 rows)
SELECT '' AS four, path(f1) FROM POLYGON_TBL;
four | path
------+---------------------
| ((2,0),(2,4),(0,0))
| ((3,1),(3,3),(1,0))
| ((0,0))
| ((0,1),(0,1))
(4 rows)
-- translation
SELECT '' AS eight, p1.f1 + point '(10,10)' AS dist_add
FROM PATH_TBL p1;
eight | dist_add
-------+-----------------------------------
| [(11,12),(13,14)]
| ((11,12),(13,14))
| [(10,10),(13,10),(14,15),(11,16)]
| ((11,12),(13,14))
| ((11,12),(13,14))
| [(11,12),(13,14)]
| [(21,22),(23,24)]
| ((21,22),(23,24))
(8 rows)
-- scaling and rotation
SELECT '' AS eight, p1.f1 * point '(2,-1)' AS dist_mul
FROM PATH_TBL p1;
eight | dist_mul
-------+------------------------------
| [(4,3),(10,5)]
| ((4,3),(10,5))
| [(0,0),(6,-3),(13,6),(8,11)]
| ((4,3),(10,5))
| ((4,3),(10,5))
| [(4,3),(10,5)]
| [(34,13),(40,15)]
| ((34,13),(40,15))
(8 rows)
RESET geqo;
--
-- Polygons
--
-- containment
SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains
FROM POLYGON_TBL poly, POINT_TBL p;
twentyfour | f1 | f1 | contains
------------+------------+---------------------+----------
| (0,0) | ((2,0),(2,4),(0,0)) | t
| (-10,0) | ((2,0),(2,4),(0,0)) | f
| (-3,4) | ((2,0),(2,4),(0,0)) | f
| (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
| (-5,-12) | ((2,0),(2,4),(0,0)) | f
| (10,10) | ((2,0),(2,4),(0,0)) | f
| (0,0) | ((3,1),(3,3),(1,0)) | f
| (-10,0) | ((3,1),(3,3),(1,0)) | f
| (-3,4) | ((3,1),(3,3),(1,0)) | f
| (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
| (-5,-12) | ((3,1),(3,3),(1,0)) | f
| (10,10) | ((3,1),(3,3),(1,0)) | f
| (0,0) | ((0,0)) | t
| (-10,0) | ((0,0)) | f
| (-3,4) | ((0,0)) | f
| (5.1,34.5) | ((0,0)) | f
| (-5,-12) | ((0,0)) | f
| (10,10) | ((0,0)) | f
| (0,0) | ((0,1),(0,1)) | f
| (-10,0) | ((0,1),(0,1)) | f
| (-3,4) | ((0,1),(0,1)) | f
| (5.1,34.5) | ((0,1),(0,1)) | f
| (-5,-12) | ((0,1),(0,1)) | f
| (10,10) | ((0,1),(0,1)) | f
(24 rows)
SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained
FROM POLYGON_TBL poly, POINT_TBL p;
twentyfour | f1 | f1 | contained
------------+------------+---------------------+-----------
| (0,0) | ((2,0),(2,4),(0,0)) | t
| (-10,0) | ((2,0),(2,4),(0,0)) | f
| (-3,4) | ((2,0),(2,4),(0,0)) | f
| (5.1,34.5) | ((2,0),(2,4),(0,0)) | f
| (-5,-12) | ((2,0),(2,4),(0,0)) | f
| (10,10) | ((2,0),(2,4),(0,0)) | f
| (0,0) | ((3,1),(3,3),(1,0)) | f
| (-10,0) | ((3,1),(3,3),(1,0)) | f
| (-3,4) | ((3,1),(3,3),(1,0)) | f
| (5.1,34.5) | ((3,1),(3,3),(1,0)) | f
| (-5,-12) | ((3,1),(3,3),(1,0)) | f
| (10,10) | ((3,1),(3,3),(1,0)) | f
| (0,0) | ((0,0)) | t
| (-10,0) | ((0,0)) | f
| (-3,4) | ((0,0)) | f
| (5.1,34.5) | ((0,0)) | f
| (-5,-12) | ((0,0)) | f
| (10,10) | ((0,0)) | f
| (0,0) | ((0,1),(0,1)) | f
| (-10,0) | ((0,1),(0,1)) | f
| (-3,4) | ((0,1),(0,1)) | f
| (5.1,34.5) | ((0,1),(0,1)) | f
| (-5,-12) | ((0,1),(0,1)) | f
| (10,10) | ((0,1),(0,1)) | f
(24 rows)
SELECT '' AS four, points(f1) AS npoints, f1 AS polygon
FROM POLYGON_TBL;
four | npoints | polygon
------+---------+---------------------
| 3 | ((2,0),(2,4),(0,0))
| 3 | ((3,1),(3,3),(1,0))
| 1 | ((0,0))
| 2 | ((0,1),(0,1))
(4 rows)
SELECT '' AS four, polygon(f1)
FROM BOX_TBL;
four | polygon
------+-------------------------------------------
| ((0,0),(0,2),(2,2),(2,0))
| ((1,1),(1,3),(3,3),(3,1))
| ((2.5,2.5),(2.5,3.5),(2.5,3.5),(2.5,2.5))
| ((3,3),(3,3),(3,3),(3,3))
(4 rows)
SELECT '' AS four, polygon(f1)
FROM PATH_TBL WHERE isclosed(f1);
four | polygon
------+-------------------
| ((1,2),(3,4))
| ((1,2),(3,4))
| ((1,2),(3,4))
| ((11,12),(13,14))
(4 rows)
SELECT '' AS four, f1 AS open_path, polygon( pclose(f1)) AS polygon
FROM PATH_TBL
WHERE isopen(f1);
four | open_path | polygon
------+---------------------------+---------------------------
| [(1,2),(3,4)] | ((1,2),(3,4))
| [(0,0),(3,0),(4,5),(1,6)] | ((0,0),(3,0),(4,5),(1,6))
| [(1,2),(3,4)] | ((1,2),(3,4))
| [(11,12),(13,14)] | ((11,12),(13,14))
(4 rows)
-- convert circles to polygons using the default number of points
SELECT '' AS six, polygon(f1)
FROM CIRCLE_TBL;
six | polygon
-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.59807621135842),(1.53102359017709e-11,3),(1.50000000001768,2.59807621134311),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.59807621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(-4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807621138138,-1.49999999995138))
| ((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.602540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036),(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.6025403778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.6025403793795,-47.9999999983795))
| ((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5.33012701894346,5.49999999996317),(6,2.99999999994897),(5.33012701889242,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.999999999923449,-2),(-1.50000000007366,-1.33012701887967),(-3.33012701896897,0.500000000081028))
| ((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.59807621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311),(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.59807621138138,0.500000000048616))
| ((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.660254037861),(100.000000000051,210),(105.000000000059,208.66025403781),(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254037785,194.999999999897),(104.999999999882,191.339745962088),(99.9999999998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,195.000000000162))
| ((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.602540377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.999999998469,-100),(49.9999999985268,-86.6025403775933),(13.3974596206205,-49.9999999983795))
(6 rows)
-- convert the circle to an 8-point polygon
SELECT '' AS six, polygon(8, f1)
FROM CIRCLE_TBL;
six | polygon
-----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ((-3,0),(-2.12132034355423,2.12132034356506),(1.53102359017709e-11,3),(2.12132034357588,2.1213203435434),(3,-3.06204718035418e-11),(2.12132034353258,-2.12132034358671),(-4.59307077053127e-11,-3),(-2.12132034359753,-2.12132034352175))
| ((-99,2),(-69.7106781184743,72.7106781188352),(1.00000000051034,102),(71.710678119196,72.7106781181135),(101,1.99999999897932),(71.7106781177526,-68.7106781195569),(0.999999998468976,-98),(-69.7106781199178,-68.7106781173917))
| ((-4,3),(-2.53553390592372,6.53553390594176),(1.00000000002552,8),(4.5355339059598,6.53553390590567),(6,2.99999999994897),(4.53553390588763,-0.535533905977846),(0.999999999923449,-2),(-2.53553390599589,-0.535533905869586))
| ((-2,2),(-1.12132034355423,4.12132034356506),(1.00000000001531,5),(3.12132034357588,4.1213203435434),(4,1.99999999996938),(3.12132034353258,-0.121320343586707),(0.999999999954069,-1),(-1.12132034359753,-0.121320343521752))
| ((90,200),(92.9289321881526,207.071067811884),(100.000000000051,210),(107.07106781192,207.071067811811),(110,199.999999999898),(107.071067811775,192.928932188044),(99.9999999998469,190),(92.9289321880082,192.928932188261))
| ((0,0),(29.2893218815257,70.7106781188352),(100.00000000051,100),(170.710678119196,70.7106781181135),(200,-1.02068239345139e-09),(170.710678117753,-70.7106781195569),(99.999999998469,-100),(29.2893218800822,-70.7106781173917))
(6 rows)
--
-- Circles
--
SELECT '' AS six, circle(f1, 50.0)
FROM POINT_TBL;
six | circle
-----+-----------------
| <(0,0),50>
| <(-10,0),50>
| <(-3,4),50>
| <(5.1,34.5),50>
| <(-5,-12),50>
| <(10,10),50>
(6 rows)
SELECT '' AS four, circle(f1)
FROM BOX_TBL;
four | circle
------+-------------------------
| <(1,1),1.4142135623731>
| <(2,2),1.4142135623731>
| <(2.5,3),0.5>
| <(3,3),0>
(4 rows)
SELECT '' AS two, circle(f1)
FROM POLYGON_TBL
WHERE (# f1) >= 3;
two | circle
-----+--------------------------------------------------------
| <(1.33333333333333,1.33333333333333),2.04168905063636>
| <(2.33333333333333,1.33333333333333),1.47534300379185>
(2 rows)
SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance
FROM CIRCLE_TBL c1, POINT_TBL p1
WHERE (p1.f1 <-> c1.f1) > 0
ORDER BY distance, circle, point using <<;
twentyfour | circle | point | distance
------------+----------------+------------+------------------
| <(100,0),100> | (5.1,34.5) | 0.97653192697797
| <(1,2),3> | (-3,4) | 1.47213595499958
| <(0,0),3> | (-3,4) | 2
| <(100,0),100> | (-3,4) | 3.07764064044152
| <(100,0),100> | (-5,-12) | 5.68348972285122
| <(1,3),5> | (-10,0) | 6.40175425099138
| <(1,3),5> | (10,10) | 6.40175425099138
| <(0,0),3> | (-10,0) | 7
| <(1,2),3> | (-10,0) | 8.18033988749895
| <(1,2),3> | (10,10) | 9.0415945787923
| <(0,0),3> | (-5,-12) | 10
| <(100,0),100> | (-10,0) | 10
| <(0,0),3> | (10,10) | 11.142135623731
| <(1,3),5> | (-5,-12) | 11.1554944214035
| <(1,2),3> | (-5,-12) | 12.2315462117278
| <(1,3),5> | (5.1,34.5) | 26.7657047773223
| <(1,2),3> | (5.1,34.5) | 29.757594539282
| <(0,0),3> | (5.1,34.5) | 31.8749193547455
| <(100,200),10> | (5.1,34.5) | 180.778038568384
| <(100,200),10> | (10,10) | 200.237960416286
| <(100,200),10> | (-3,4) | 211.415898254845
| <(100,200),10> | (0,0) | 213.606797749979
| <(100,200),10> | (-10,0) | 218.254244210267
| <(100,200),10> | (-5,-12) | 226.577682802077
(24 rows)
--
-- HOROLOGY
--
--
-- datetime, timespan arithmetic
--
SELECT datetime '1996-03-01' - timespan '1 second' AS "Feb 29";
Feb 29
------------------------------
Thu Feb 29 23:59:59 1996 PST
(1 row)
SELECT datetime '1999-03-01' - timespan '1 second' AS "Feb 28";
Feb 28
------------------------------
Sun Feb 28 23:59:59 1999 PST
(1 row)
SELECT datetime '2000-03-01' - timespan '1 second' AS "Feb 29";
Feb 29
------------------------------
Tue Feb 29 23:59:59 2000 PST
(1 row)
SELECT datetime '1999-12-01' + timespan '1 month - 1 second' AS "Dec 31";
Dec 31
------------------------------
Fri Dec 31 23:59:59 1999 PST
(1 row)
CREATE TABLE TEMP_DATETIME (f1 datetime);
-- get some candidate input values
INSERT INTO TEMP_DATETIME (f1)
SELECT d1 FROM DATETIME_TBL
WHERE d1 BETWEEN '13-jun-1957' AND '1-jan-1997'
OR d1 BETWEEN '1-jan-1999' AND '1-jan-2010';
SELECT '' AS ten, f1 AS datetime
FROM TEMP_DATETIME
ORDER BY datetime;
ten | datetime
-----+------------------------------
| epoch
| Wed Feb 28 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST
| Fri Dec 31 17:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST
(10 rows)
SELECT '' AS hundred, d.f1 AS datetime, t.f1 AS timespan, d.f1 + t.f1 AS plus
FROM TEMP_DATETIME d, TIMESPAN_TBL t
ORDER BY plus, datetime, timespan;
hundred | datetime | timespan | plus
---------+------------------------------+-------------------------------+------------------------------
| epoch | @ 14 secs ago | Wed Dec 31 15:59:46 1969 PST
| epoch | @ 1 min | Wed Dec 31 16:01:00 1969 PST
| epoch | @ 5 hours | Wed Dec 31 21:00:00 1969 PST
| epoch | @ 1 day 2 hours 3 mins 4 secs | Thu Jan 01 18:03:04 1970 PST
| epoch | @ 10 days | Sat Jan 10 16:00:00 1970 PST
| epoch | @ 3 mons | Tue Mar 31 16:00:00 1970 PST
| epoch | @ 5 mons | Sun May 31 17:00:00 1970 PDT
| epoch | @ 5 mons 12 hours | Mon Jun 01 05:00:00 1970 PDT
| epoch | @ 6 years | Wed Dec 31 16:00:00 1975 PST
| Wed Feb 28 17:32:01 1996 PST | @ 14 secs ago | Wed Feb 28 17:31:47 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 1 min | Wed Feb 28 17:33:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 5 hours | Wed Feb 28 22:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 14 secs ago | Thu Feb 29 17:31:47 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 1 min | Thu Feb 29 17:33:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Thu Feb 29 19:35:05 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 5 hours | Thu Feb 29 22:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 14 secs ago | Fri Mar 01 17:31:47 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 1 min | Fri Mar 01 17:33:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Fri Mar 01 19:35:05 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 5 hours | Fri Mar 01 22:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Sat Mar 02 19:35:05 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 10 days | Sat Mar 09 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 10 days | Sun Mar 10 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 10 days | Mon Mar 11 17:32:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 3 mons | Tue May 28 18:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 3 mons | Wed May 29 18:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 3 mons | Sat Jun 01 18:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Sun Jul 28 18:32:01 1996 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Mon Jul 29 06:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Mon Jul 29 18:32:01 1996 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 06:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Thu Aug 01 18:32:01 1996 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Aug 02 06:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 14 secs ago | Mon Dec 30 17:31:47 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 min | Mon Dec 30 17:33:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 hours | Mon Dec 30 22:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 14 secs ago | Tue Dec 31 17:31:47 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 1 min | Tue Dec 31 17:33:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Tue Dec 31 19:35:05 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 5 hours | Tue Dec 31 22:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Wed Jan 01 19:35:05 1997 PST
| Mon Dec 30 17:32:01 1996 PST | @ 10 days | Thu Jan 09 17:32:01 1997 PST
| Tue Dec 31 17:32:01 1996 PST | @ 10 days | Fri Jan 10 17:32:01 1997 PST
| Mon Dec 30 17:32:01 1996 PST | @ 3 mons | Sun Mar 30 17:32:01 1997 PST
| Tue Dec 31 17:32:01 1996 PST | @ 3 mons | Mon Mar 31 17:32:01 1997 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Fri May 30 18:32:01 1997 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Sat May 31 06:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Sat May 31 18:32:01 1997 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Jun 01 06:32:01 1997 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 14 secs ago | Fri Dec 31 17:31:47 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 1 min | Fri Dec 31 17:33:01 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 hours | Fri Dec 31 22:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST | @ 14 secs ago | Sat Jan 01 17:31:47 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 1 min | Sat Jan 01 17:33:01 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 1 day 2 hours 3 mins 4 secs | Sat Jan 01 19:35:05 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 5 hours | Sat Jan 01 22:32:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 1 day 2 hours 3 mins 4 secs | Sun Jan 02 19:35:05 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 10 days | Mon Jan 10 17:32:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 10 days | Tue Jan 11 17:32:01 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 3 mons | Fri Mar 31 17:32:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 3 mons | Sat Apr 01 17:32:01 2000 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Wed May 31 18:32:01 2000 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Thu Jun 01 06:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Thu Jun 01 18:32:01 2000 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 02 06:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 14 secs ago | Sun Dec 31 17:31:47 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 min | Sun Dec 31 17:33:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 5 hours | Sun Dec 31 22:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST | @ 14 secs ago | Mon Jan 01 17:31:47 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 1 min | Mon Jan 01 17:33:01 2001 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 day 2 hours 3 mins 4 secs | Mon Jan 01 19:35:05 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 5 hours | Mon Jan 01 22:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 1 day 2 hours 3 mins 4 secs | Tue Jan 02 19:35:05 2001 PST
| Sun Dec 31 17:32:01 2000 PST | @ 10 days | Wed Jan 10 17:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 10 days | Thu Jan 11 17:32:01 2001 PST
| Sun Dec 31 17:32:01 2000 PST | @ 3 mons | Sat Mar 31 17:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Apr 01 18:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Thu May 31 18:32:01 2001 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Fri Jun 01 06:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Fri Jun 01 18:32:01 2001 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Sat Jun 02 06:32:01 2001 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 6 years | Thu Feb 28 17:32:01 2002 PST
| Thu Feb 29 17:32:01 1996 PST | @ 6 years | Thu Feb 28 17:32:01 2002 PST
| Fri Mar 01 17:32:01 1996 PST | @ 6 years | Fri Mar 01 17:32:01 2002 PST
| Mon Dec 30 17:32:01 1996 PST | @ 6 years | Mon Dec 30 17:32:01 2002 PST
| Tue Dec 31 17:32:01 1996 PST | @ 6 years | Tue Dec 31 17:32:01 2002 PST
| epoch | @ 34 years | Wed Dec 31 16:00:00 2003 PST
| Fri Dec 31 17:32:01 1999 PST | @ 6 years | Sat Dec 31 17:32:01 2005 PST
| Sat Jan 01 17:32:01 2000 PST | @ 6 years | Sun Jan 01 17:32:01 2006 PST
| Sun Dec 31 17:32:01 2000 PST | @ 6 years | Sun Dec 31 17:32:01 2006 PST
| Mon Jan 01 17:32:01 2001 PST | @ 6 years | Mon Jan 01 17:32:01 2007 PST
| Wed Feb 28 17:32:01 1996 PST | @ 34 years | Thu Feb 28 17:32:01 2030 PST
| Thu Feb 29 17:32:01 1996 PST | @ 34 years | Thu Feb 28 17:32:01 2030 PST
| Fri Mar 01 17:32:01 1996 PST | @ 34 years | Fri Mar 01 17:32:01 2030 PST
| Mon Dec 30 17:32:01 1996 PST | @ 34 years | Mon Dec 30 17:32:01 2030 PST
| Tue Dec 31 17:32:01 1996 PST | @ 34 years | Tue Dec 31 17:32:01 2030 PST
| Fri Dec 31 17:32:01 1999 PST | @ 34 years | Sat Dec 31 17:32:01 2033 PST
| Sat Jan 01 17:32:01 2000 PST | @ 34 years | Sun Jan 01 17:32:01 2034 PST
| Sun Dec 31 17:32:01 2000 PST | @ 34 years | Sun Dec 31 17:32:01 2034 PST
| Mon Jan 01 17:32:01 2001 PST | @ 34 years | Mon Jan 01 17:32:01 2035 PST
(100 rows)
SELECT '' AS hundred, d.f1 AS datetime, t.f1 AS timespan, d.f1 - t.f1 AS minus
FROM TEMP_DATETIME d, TIMESPAN_TBL t
WHERE isfinite(d.f1)
ORDER BY minus, datetime, timespan;
hundred | datetime | timespan | minus
---------+------------------------------+-------------------------------+------------------------------
| epoch | @ 34 years | Tue Dec 31 16:00:00 1935 PST
| Wed Feb 28 17:32:01 1996 PST | @ 34 years | Wed Feb 28 17:32:01 1962 PST
| Thu Feb 29 17:32:01 1996 PST | @ 34 years | Wed Feb 28 17:32:01 1962 PST
| Fri Mar 01 17:32:01 1996 PST | @ 34 years | Thu Mar 01 17:32:01 1962 PST
| Mon Dec 30 17:32:01 1996 PST | @ 34 years | Sun Dec 30 17:32:01 1962 PST
| Tue Dec 31 17:32:01 1996 PST | @ 34 years | Mon Dec 31 17:32:01 1962 PST
| epoch | @ 6 years | Tue Dec 31 16:00:00 1963 PST
| Fri Dec 31 17:32:01 1999 PST | @ 34 years | Fri Dec 31 17:32:01 1965 PST
| Sat Jan 01 17:32:01 2000 PST | @ 34 years | Sat Jan 01 17:32:01 1966 PST
| Sun Dec 31 17:32:01 2000 PST | @ 34 years | Sat Dec 31 17:32:01 1966 PST
| Mon Jan 01 17:32:01 2001 PST | @ 34 years | Sun Jan 01 17:32:01 1967 PST
| epoch | @ 5 mons 12 hours | Thu Jul 31 05:00:00 1969 PDT
| epoch | @ 5 mons | Thu Jul 31 17:00:00 1969 PDT
| epoch | @ 3 mons | Tue Sep 30 17:00:00 1969 PDT
| epoch | @ 10 days | Sun Dec 21 16:00:00 1969 PST
| epoch | @ 1 day 2 hours 3 mins 4 secs | Tue Dec 30 13:56:56 1969 PST
| epoch | @ 5 hours | Wed Dec 31 11:00:00 1969 PST
| epoch | @ 1 min | Wed Dec 31 15:59:00 1969 PST
| epoch | @ 14 secs ago | Wed Dec 31 16:00:14 1969 PST
| Wed Feb 28 17:32:01 1996 PST | @ 6 years | Wed Feb 28 17:32:01 1990 PST
| Thu Feb 29 17:32:01 1996 PST | @ 6 years | Wed Feb 28 17:32:01 1990 PST
| Fri Mar 01 17:32:01 1996 PST | @ 6 years | Thu Mar 01 17:32:01 1990 PST
| Mon Dec 30 17:32:01 1996 PST | @ 6 years | Sun Dec 30 17:32:01 1990 PST
| Tue Dec 31 17:32:01 1996 PST | @ 6 years | Mon Dec 31 17:32:01 1990 PST
| Fri Dec 31 17:32:01 1999 PST | @ 6 years | Fri Dec 31 17:32:01 1993 PST
| Sat Jan 01 17:32:01 2000 PST | @ 6 years | Sat Jan 01 17:32:01 1994 PST
| Sun Dec 31 17:32:01 2000 PST | @ 6 years | Sat Dec 31 17:32:01 1994 PST
| Mon Jan 01 17:32:01 2001 PST | @ 6 years | Sun Jan 01 17:32:01 1995 PST
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons 12 hours | Thu Sep 28 06:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 5 mons | Thu Sep 28 18:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons 12 hours | Fri Sep 29 06:32:01 1995 PDT
| Thu Feb 29 17:32:01 1996 PST | @ 5 mons | Fri Sep 29 18:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons 12 hours | Sun Oct 01 06:32:01 1995 PDT
| Fri Mar 01 17:32:01 1996 PST | @ 5 mons | Sun Oct 01 18:32:01 1995 PDT
| Wed Feb 28 17:32:01 1996 PST | @ 3 mons | Tue Nov 28 17:32:01 1995 PST
| Thu Feb 29 17:32:01 1996 PST | @ 3 mons | Wed Nov 29 17:32:01 1995 PST
| Fri Mar 01 17:32:01 1996 PST | @ 3 mons | Fri Dec 01 17:32:01 1995 PST
| Wed Feb 28 17:32:01 1996 PST | @ 10 days | Sun Feb 18 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 10 days | Mon Feb 19 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 10 days | Tue Feb 20 17:32:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Tue Feb 27 15:28:57 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 5 hours | Wed Feb 28 12:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Wed Feb 28 15:28:57 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 1 min | Wed Feb 28 17:31:01 1996 PST
| Wed Feb 28 17:32:01 1996 PST | @ 14 secs ago | Wed Feb 28 17:32:15 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 5 hours | Thu Feb 29 12:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Thu Feb 29 15:28:57 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 1 min | Thu Feb 29 17:31:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | @ 14 secs ago | Thu Feb 29 17:32:15 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 5 hours | Fri Mar 01 12:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 1 min | Fri Mar 01 17:31:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | @ 14 secs ago | Fri Mar 01 17:32:15 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons 12 hours | Tue Jul 30 06:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 5 mons | Tue Jul 30 18:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons 12 hours | Wed Jul 31 06:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 5 mons | Wed Jul 31 18:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 18:32:01 1996 PDT
| Tue Dec 31 17:32:01 1996 PST | @ 3 mons | Mon Sep 30 18:32:01 1996 PDT
| Mon Dec 30 17:32:01 1996 PST | @ 10 days | Fri Dec 20 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 10 days | Sat Dec 21 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Sun Dec 29 15:28:57 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 5 hours | Mon Dec 30 12:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 1 day 2 hours 3 mins 4 secs | Mon Dec 30 15:28:57 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 1 min | Mon Dec 30 17:31:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | @ 14 secs ago | Mon Dec 30 17:32:15 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 5 hours | Tue Dec 31 12:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 1 min | Tue Dec 31 17:31:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | @ 14 secs ago | Tue Dec 31 17:32:15 1996 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons 12 hours | Sat Jul 31 06:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 5 mons | Sat Jul 31 18:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons 12 hours | Sun Aug 01 06:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 5 mons | Sun Aug 01 18:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 3 mons | Thu Sep 30 18:32:01 1999 PDT
| Sat Jan 01 17:32:01 2000 PST | @ 3 mons | Fri Oct 01 18:32:01 1999 PDT
| Fri Dec 31 17:32:01 1999 PST | @ 10 days | Tue Dec 21 17:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST | @ 10 days | Wed Dec 22 17:32:01 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 1 day 2 hours 3 mins 4 secs | Thu Dec 30 15:28:57 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 5 hours | Fri Dec 31 12:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST | @ 1 day 2 hours 3 mins 4 secs | Fri Dec 31 15:28:57 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 1 min | Fri Dec 31 17:31:01 1999 PST
| Fri Dec 31 17:32:01 1999 PST | @ 14 secs ago | Fri Dec 31 17:32:15 1999 PST
| Sat Jan 01 17:32:01 2000 PST | @ 5 hours | Sat Jan 01 12:32:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 1 min | Sat Jan 01 17:31:01 2000 PST
| Sat Jan 01 17:32:01 2000 PST | @ 14 secs ago | Sat Jan 01 17:32:15 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons 12 hours | Mon Jul 31 06:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 5 mons | Mon Jul 31 18:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons 12 hours | Tue Aug 01 06:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 5 mons | Tue Aug 01 18:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 3 mons | Sat Sep 30 18:32:01 2000 PDT
| Mon Jan 01 17:32:01 2001 PST | @ 3 mons | Sun Oct 01 18:32:01 2000 PDT
| Sun Dec 31 17:32:01 2000 PST | @ 10 days | Thu Dec 21 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST | @ 10 days | Fri Dec 22 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 day 2 hours 3 mins 4 secs | Sat Dec 30 15:28:57 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 5 hours | Sun Dec 31 12:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST | @ 1 day 2 hours 3 mins 4 secs | Sun Dec 31 15:28:57 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 1 min | Sun Dec 31 17:31:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | @ 14 secs ago | Sun Dec 31 17:32:15 2000 PST
| Mon Jan 01 17:32:01 2001 PST | @ 5 hours | Mon Jan 01 12:32:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 1 min | Mon Jan 01 17:31:01 2001 PST
| Mon Jan 01 17:32:01 2001 PST | @ 14 secs ago | Mon Jan 01 17:32:15 2001 PST
(100 rows)
SELECT '' AS ten, d.f1 AS datetime, datetime '1980-01-06 00:00 GMT' AS gpstime_zero,
d.f1 - datetime '1980-01-06 00:00 GMT' AS difference
FROM TEMP_DATETIME d
ORDER BY difference;
ten | datetime | gpstime_zero | difference
-----+------------------------------+------------------------------+----------------------------------
| epoch | Sat Jan 05 16:00:00 1980 PST | @ 3657 days ago
| Wed Feb 28 17:32:01 1996 PST | Sat Jan 05 16:00:00 1980 PST | @ 5898 days 1 hour 32 mins 1 sec
| Thu Feb 29 17:32:01 1996 PST | Sat Jan 05 16:00:00 1980 PST | @ 5899 days 1 hour 32 mins 1 sec
| Fri Mar 01 17:32:01 1996 PST | Sat Jan 05 16:00:00 1980 PST | @ 5900 days 1 hour 32 mins 1 sec
| Mon Dec 30 17:32:01 1996 PST | Sat Jan 05 16:00:00 1980 PST | @ 6204 days 1 hour 32 mins 1 sec
| Tue Dec 31 17:32:01 1996 PST | Sat Jan 05 16:00:00 1980 PST | @ 6205 days 1 hour 32 mins 1 sec
| Fri Dec 31 17:32:01 1999 PST | Sat Jan 05 16:00:00 1980 PST | @ 7300 days 1 hour 32 mins 1 sec
| Sat Jan 01 17:32:01 2000 PST | Sat Jan 05 16:00:00 1980 PST | @ 7301 days 1 hour 32 mins 1 sec
| Sun Dec 31 17:32:01 2000 PST | Sat Jan 05 16:00:00 1980 PST | @ 7666 days 1 hour 32 mins 1 sec
| Mon Jan 01 17:32:01 2001 PST | Sat Jan 05 16:00:00 1980 PST | @ 7667 days 1 hour 32 mins 1 sec
(10 rows)
SELECT '' AS hundred, d1.f1 AS datetime1, d2.f1 AS datetime2, d1.f1 - d2.f1 AS difference
FROM TEMP_DATETIME d1, TEMP_DATETIME d2
ORDER BY datetime1, datetime2, difference;
hundred | datetime1 | datetime2 | difference
---------+------------------------------+------------------------------+---------------------------------------
| epoch | epoch | @ 0
| epoch | Wed Feb 28 17:32:01 1996 PST | @ 9555 days 1 hour 32 mins 1 sec ago
| epoch | Thu Feb 29 17:32:01 1996 PST | @ 9556 days 1 hour 32 mins 1 sec ago
| epoch | Fri Mar 01 17:32:01 1996 PST | @ 9557 days 1 hour 32 mins 1 sec ago
| epoch | Mon Dec 30 17:32:01 1996 PST | @ 9861 days 1 hour 32 mins 1 sec ago
| epoch | Tue Dec 31 17:32:01 1996 PST | @ 9862 days 1 hour 32 mins 1 sec ago
| epoch | Fri Dec 31 17:32:01 1999 PST | @ 10957 days 1 hour 32 mins 1 sec ago
| epoch | Sat Jan 01 17:32:01 2000 PST | @ 10958 days 1 hour 32 mins 1 sec ago
| epoch | Sun Dec 31 17:32:01 2000 PST | @ 11323 days 1 hour 32 mins 1 sec ago
| epoch | Mon Jan 01 17:32:01 2001 PST | @ 11324 days 1 hour 32 mins 1 sec ago
| Wed Feb 28 17:32:01 1996 PST | epoch | @ 9555 days 1 hour 32 mins 1 sec
| Wed Feb 28 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST | @ 0
| Wed Feb 28 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST | @ 1 day ago
| Wed Feb 28 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST | @ 2 days ago
| Wed Feb 28 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST | @ 306 days ago
| Wed Feb 28 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST | @ 307 days ago
| Wed Feb 28 17:32:01 1996 PST | Fri Dec 31 17:32:01 1999 PST | @ 1402 days ago
| Wed Feb 28 17:32:01 1996 PST | Sat Jan 01 17:32:01 2000 PST | @ 1403 days ago
| Wed Feb 28 17:32:01 1996 PST | Sun Dec 31 17:32:01 2000 PST | @ 1768 days ago
| Wed Feb 28 17:32:01 1996 PST | Mon Jan 01 17:32:01 2001 PST | @ 1769 days ago
| Thu Feb 29 17:32:01 1996 PST | epoch | @ 9556 days 1 hour 32 mins 1 sec
| Thu Feb 29 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST | @ 1 day
| Thu Feb 29 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST | @ 0
| Thu Feb 29 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST | @ 1 day ago
| Thu Feb 29 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST | @ 305 days ago
| Thu Feb 29 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST | @ 306 days ago
| Thu Feb 29 17:32:01 1996 PST | Fri Dec 31 17:32:01 1999 PST | @ 1401 days ago
| Thu Feb 29 17:32:01 1996 PST | Sat Jan 01 17:32:01 2000 PST | @ 1402 days ago
| Thu Feb 29 17:32:01 1996 PST | Sun Dec 31 17:32:01 2000 PST | @ 1767 days ago
| Thu Feb 29 17:32:01 1996 PST | Mon Jan 01 17:32:01 2001 PST | @ 1768 days ago
| Fri Mar 01 17:32:01 1996 PST | epoch | @ 9557 days 1 hour 32 mins 1 sec
| Fri Mar 01 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST | @ 2 days
| Fri Mar 01 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST | @ 1 day
| Fri Mar 01 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST | @ 0
| Fri Mar 01 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST | @ 304 days ago
| Fri Mar 01 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST | @ 305 days ago
| Fri Mar 01 17:32:01 1996 PST | Fri Dec 31 17:32:01 1999 PST | @ 1400 days ago
| Fri Mar 01 17:32:01 1996 PST | Sat Jan 01 17:32:01 2000 PST | @ 1401 days ago
| Fri Mar 01 17:32:01 1996 PST | Sun Dec 31 17:32:01 2000 PST | @ 1766 days ago
| Fri Mar 01 17:32:01 1996 PST | Mon Jan 01 17:32:01 2001 PST | @ 1767 days ago
| Mon Dec 30 17:32:01 1996 PST | epoch | @ 9861 days 1 hour 32 mins 1 sec
| Mon Dec 30 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST | @ 306 days
| Mon Dec 30 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST | @ 305 days
| Mon Dec 30 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST | @ 304 days
| Mon Dec 30 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST | @ 0
| Mon Dec 30 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST | @ 1 day ago
| Mon Dec 30 17:32:01 1996 PST | Fri Dec 31 17:32:01 1999 PST | @ 1096 days ago
| Mon Dec 30 17:32:01 1996 PST | Sat Jan 01 17:32:01 2000 PST | @ 1097 days ago
| Mon Dec 30 17:32:01 1996 PST | Sun Dec 31 17:32:01 2000 PST | @ 1462 days ago
| Mon Dec 30 17:32:01 1996 PST | Mon Jan 01 17:32:01 2001 PST | @ 1463 days ago
| Tue Dec 31 17:32:01 1996 PST | epoch | @ 9862 days 1 hour 32 mins 1 sec
| Tue Dec 31 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST | @ 307 days
| Tue Dec 31 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST | @ 306 days
| Tue Dec 31 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST | @ 305 days
| Tue Dec 31 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST | @ 1 day
| Tue Dec 31 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST | @ 0
| Tue Dec 31 17:32:01 1996 PST | Fri Dec 31 17:32:01 1999 PST | @ 1095 days ago
| Tue Dec 31 17:32:01 1996 PST | Sat Jan 01 17:32:01 2000 PST | @ 1096 days ago
| Tue Dec 31 17:32:01 1996 PST | Sun Dec 31 17:32:01 2000 PST | @ 1461 days ago
| Tue Dec 31 17:32:01 1996 PST | Mon Jan 01 17:32:01 2001 PST | @ 1462 days ago
| Fri Dec 31 17:32:01 1999 PST | epoch | @ 10957 days 1 hour 32 mins 1 sec
| Fri Dec 31 17:32:01 1999 PST | Wed Feb 28 17:32:01 1996 PST | @ 1402 days
| Fri Dec 31 17:32:01 1999 PST | Thu Feb 29 17:32:01 1996 PST | @ 1401 days
| Fri Dec 31 17:32:01 1999 PST | Fri Mar 01 17:32:01 1996 PST | @ 1400 days
| Fri Dec 31 17:32:01 1999 PST | Mon Dec 30 17:32:01 1996 PST | @ 1096 days
| Fri Dec 31 17:32:01 1999 PST | Tue Dec 31 17:32:01 1996 PST | @ 1095 days
| Fri Dec 31 17:32:01 1999 PST | Fri Dec 31 17:32:01 1999 PST | @ 0
| Fri Dec 31 17:32:01 1999 PST | Sat Jan 01 17:32:01 2000 PST | @ 1 day ago
| Fri Dec 31 17:32:01 1999 PST | Sun Dec 31 17:32:01 2000 PST | @ 366 days ago
| Fri Dec 31 17:32:01 1999 PST | Mon Jan 01 17:32:01 2001 PST | @ 367 days ago
| Sat Jan 01 17:32:01 2000 PST | epoch | @ 10958 days 1 hour 32 mins 1 sec
| Sat Jan 01 17:32:01 2000 PST | Wed Feb 28 17:32:01 1996 PST | @ 1403 days
| Sat Jan 01 17:32:01 2000 PST | Thu Feb 29 17:32:01 1996 PST | @ 1402 days
| Sat Jan 01 17:32:01 2000 PST | Fri Mar 01 17:32:01 1996 PST | @ 1401 days
| Sat Jan 01 17:32:01 2000 PST | Mon Dec 30 17:32:01 1996 PST | @ 1097 days
| Sat Jan 01 17:32:01 2000 PST | Tue Dec 31 17:32:01 1996 PST | @ 1096 days
| Sat Jan 01 17:32:01 2000 PST | Fri Dec 31 17:32:01 1999 PST | @ 1 day
| Sat Jan 01 17:32:01 2000 PST | Sat Jan 01 17:32:01 2000 PST | @ 0
| Sat Jan 01 17:32:01 2000 PST | Sun Dec 31 17:32:01 2000 PST | @ 365 days ago
| Sat Jan 01 17:32:01 2000 PST | Mon Jan 01 17:32:01 2001 PST | @ 366 days ago
| Sun Dec 31 17:32:01 2000 PST | epoch | @ 11323 days 1 hour 32 mins 1 sec
| Sun Dec 31 17:32:01 2000 PST | Wed Feb 28 17:32:01 1996 PST | @ 1768 days
| Sun Dec 31 17:32:01 2000 PST | Thu Feb 29 17:32:01 1996 PST | @ 1767 days
| Sun Dec 31 17:32:01 2000 PST | Fri Mar 01 17:32:01 1996 PST | @ 1766 days
| Sun Dec 31 17:32:01 2000 PST | Mon Dec 30 17:32:01 1996 PST | @ 1462 days
| Sun Dec 31 17:32:01 2000 PST | Tue Dec 31 17:32:01 1996 PST | @ 1461 days
| Sun Dec 31 17:32:01 2000 PST | Fri Dec 31 17:32:01 1999 PST | @ 366 days
| Sun Dec 31 17:32:01 2000 PST | Sat Jan 01 17:32:01 2000 PST | @ 365 days
| Sun Dec 31 17:32:01 2000 PST | Sun Dec 31 17:32:01 2000 PST | @ 0
| Sun Dec 31 17:32:01 2000 PST | Mon Jan 01 17:32:01 2001 PST | @ 1 day ago
| Mon Jan 01 17:32:01 2001 PST | epoch | @ 11324 days 1 hour 32 mins 1 sec
| Mon Jan 01 17:32:01 2001 PST | Wed Feb 28 17:32:01 1996 PST | @ 1769 days
| Mon Jan 01 17:32:01 2001 PST | Thu Feb 29 17:32:01 1996 PST | @ 1768 days
| Mon Jan 01 17:32:01 2001 PST | Fri Mar 01 17:32:01 1996 PST | @ 1767 days
| Mon Jan 01 17:32:01 2001 PST | Mon Dec 30 17:32:01 1996 PST | @ 1463 days
| Mon Jan 01 17:32:01 2001 PST | Tue Dec 31 17:32:01 1996 PST | @ 1462 days
| Mon Jan 01 17:32:01 2001 PST | Fri Dec 31 17:32:01 1999 PST | @ 367 days
| Mon Jan 01 17:32:01 2001 PST | Sat Jan 01 17:32:01 2000 PST | @ 366 days
| Mon Jan 01 17:32:01 2001 PST | Sun Dec 31 17:32:01 2000 PST | @ 1 day
| Mon Jan 01 17:32:01 2001 PST | Mon Jan 01 17:32:01 2001 PST | @ 0
(100 rows)
SELECT '' as fifty, d1 as datetime,
date_part('year', d1) AS year, date_part('month', d1) AS month,
date_part('day',d1) AS day, date_part('hour', d1) AS hour,
date_part('minute', d1) AS minute, date_part('second', d1) AS second
FROM DATETIME_TBL
WHERE isfinite(d1) and d1 >= '1-jan-1900 GMT'
ORDER BY datetime;
fifty | datetime | year | month | day | hour | minute | second
-------+---------------------------------+------+-------+-----+------+--------+----------
| epoch | 1969 | 12 | 31 | 16 | 0 | 0
| Wed Feb 28 17:32:01 1996 PST | 1996 | 2 | 28 | 17 | 32 | 1
| Thu Feb 29 17:32:01 1996 PST | 1996 | 2 | 29 | 17 | 32 | 1
| Fri Mar 01 17:32:01 1996 PST | 1996 | 3 | 1 | 17 | 32 | 1
| Mon Dec 30 17:32:01 1996 PST | 1996 | 12 | 30 | 17 | 32 | 1
| Tue Dec 31 17:32:01 1996 PST | 1996 | 12 | 31 | 17 | 32 | 1
| Wed Jan 01 17:32:01 1997 PST | 1997 | 1 | 1 | 17 | 32 | 1
| Thu Jan 02 00:00:00 1997 PST | 1997 | 1 | 2 | 0 | 0 | 0
| Thu Jan 02 03:04:05 1997 PST | 1997 | 1 | 2 | 3 | 4 | 5
| Mon Feb 10 09:32:01 1997 PST | 1997 | 2 | 10 | 9 | 32 | 1
| Mon Feb 10 09:32:01 1997 PST | 1997 | 2 | 10 | 9 | 32 | 1
| Mon Feb 10 09:32:01 1997 PST | 1997 | 2 | 10 | 9 | 32 | 1
| Mon Feb 10 17:32:00 1997 PST | 1997 | 2 | 10 | 17 | 32 | 0
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1
| Mon Feb 10 17:32:01.00 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1.000001
| Mon Feb 10 17:32:01.40 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1.4
| Mon Feb 10 17:32:01.50 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1.5
| Mon Feb 10 17:32:01.60 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1.6
| Mon Feb 10 17:32:02.00 1997 PST | 1997 | 2 | 10 | 17 | 32 | 1.999999
| Tue Feb 11 17:32:01 1997 PST | 1997 | 2 | 11 | 17 | 32 | 1
| Wed Feb 12 17:32:01 1997 PST | 1997 | 2 | 12 | 17 | 32 | 1
| Thu Feb 13 17:32:01 1997 PST | 1997 | 2 | 13 | 17 | 32 | 1
| Fri Feb 14 17:32:01 1997 PST | 1997 | 2 | 14 | 17 | 32 | 1
| Sat Feb 15 17:32:01 1997 PST | 1997 | 2 | 15 | 17 | 32 | 1
| Sun Feb 16 17:32:01 1997 PST | 1997 | 2 | 16 | 17 | 32 | 1
| Sun Feb 16 17:32:01 1997 PST | 1997 | 2 | 16 | 17 | 32 | 1
| Fri Feb 28 17:32:01 1997 PST | 1997 | 2 | 28 | 17 | 32 | 1
| Sat Mar 01 17:32:01 1997 PST | 1997 | 3 | 1 | 17 | 32 | 1
| Tue Jun 10 17:32:01 1997 PDT | 1997 | 6 | 10 | 17 | 32 | 1
| Tue Jun 10 18:32:01 1997 PDT | 1997 | 6 | 10 | 18 | 32 | 1
| Tue Dec 30 17:32:01 1997 PST | 1997 | 12 | 30 | 17 | 32 | 1
| Wed Dec 31 17:32:01 1997 PST | 1997 | 12 | 31 | 17 | 32 | 1
| Fri Dec 31 17:32:01 1999 PST | 1999 | 12 | 31 | 17 | 32 | 1
| Sat Jan 01 17:32:01 2000 PST | 2000 | 1 | 1 | 17 | 32 | 1
| Sun Dec 31 17:32:01 2000 PST | 2000 | 12 | 31 | 17 | 32 | 1
| Mon Jan 01 17:32:01 2001 PST | 2001 | 1 | 1 | 17 | 32 | 1
| Sat Feb 16 17:32:01 2097 | 2097 | 2 | 16 | 17 | 32 | 1
(49 rows)
--
-- abstime, reltime arithmetic
--
SELECT '' AS four, f1 AS abstime,
date_part('year', f1) AS year, date_part('month', f1) AS month,
date_part('day',f1) AS day, date_part('hour', f1) AS hour,
date_part('minute', f1) AS minute, date_part('second', f1) AS second
FROM ABSTIME_TBL
WHERE isfinite(f1) and f1 <> abstime 'current'
ORDER BY abstime;
four | abstime | year | month | day | hour | minute | second
------+------------------------------+------+-------+-----+------+--------+--------
| Sat May 10 23:59:12 1947 PDT | 1947 | 5 | 10 | 23 | 59 | 12
| epoch | 1969 | 12 | 31 | 16 | 0 | 0
| Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30
(4 rows)
--
-- conversions
--
SELECT '' AS ten, f1 AS datetime, date( f1) AS date
FROM TEMP_DATETIME
WHERE f1 <> datetime 'current'
ORDER BY date;
ten | datetime | date
-----+------------------------------+------------
| epoch | 01-01-1970
| Wed Feb 28 17:32:01 1996 PST | 02-28-1996
| Thu Feb 29 17:32:01 1996 PST | 02-29-1996
| Fri Mar 01 17:32:01 1996 PST | 03-01-1996
| Mon Dec 30 17:32:01 1996 PST | 12-30-1996
| Tue Dec 31 17:32:01 1996 PST | 12-31-1996
| Fri Dec 31 17:32:01 1999 PST | 12-31-1999
| Sat Jan 01 17:32:01 2000 PST | 01-01-2000
| Sun Dec 31 17:32:01 2000 PST | 12-31-2000
| Mon Jan 01 17:32:01 2001 PST | 01-01-2001
(10 rows)
SELECT '' AS ten, f1 AS datetime, abstime( f1) AS abstime
FROM TEMP_DATETIME
ORDER BY abstime;
ten | datetime | abstime
-----+------------------------------+------------------------------
| epoch | epoch
| Wed Feb 28 17:32:01 1996 PST | Wed Feb 28 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST | Thu Feb 29 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST | Fri Mar 01 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST | Mon Dec 30 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST | Tue Dec 31 17:32:01 1996 PST
| Fri Dec 31 17:32:01 1999 PST | Fri Dec 31 17:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST | Sat Jan 01 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST | Sun Dec 31 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST | Mon Jan 01 17:32:01 2001 PST
(10 rows)
SELECT '' AS five, f1 AS abstime, date( f1) AS date
FROM ABSTIME_TBL
WHERE isfinite(f1) AND f1 <> abstime 'current'
ORDER BY date;
five | abstime | date
------+------------------------------+------------
| Sat May 10 23:59:12 1947 PDT | 05-10-1947
| epoch | 01-01-1970
| Sun Jan 14 03:14:21 1973 PST | 01-14-1973
| Mon May 01 00:30:30 1995 PDT | 05-01-1995
(4 rows)
SELECT '' AS five, d1 AS datetime, abstime(d1) AS abstime
FROM DATETIME_TBL WHERE NOT isfinite(d1);
five | datetime | abstime
------+-----------+-----------
| invalid | invalid
| -infinity | -infinity
| infinity | infinity
| invalid | invalid
| invalid | invalid
(5 rows)
SELECT '' AS three, f1 as abstime, datetime(f1) AS datetime
FROM ABSTIME_TBL WHERE NOT isfinite(f1);
three | abstime | datetime
-------+-----------+-----------
| infinity | infinity
| -infinity | -infinity
| invalid | invalid
(3 rows)
SELECT '' AS ten, f1 AS timespan, reltime( f1) AS reltime
FROM TIMESPAN_TBL;
ten | timespan | reltime
-----+-------------------------------+-------------------------------
| @ 1 min | @ 1 min
| @ 5 hours | @ 5 hours
| @ 10 days | @ 10 days
| @ 34 years | @ 34 years
| @ 3 mons | @ 3 mons
| @ 14 secs ago | @ 14 secs ago
| @ 1 day 2 hours 3 mins 4 secs | @ 1 day 2 hours 3 mins 4 secs
| @ 6 years | @ 6 years
| @ 5 mons | @ 5 mons
| @ 5 mons 12 hours | @ 5 mons 12 hours
(10 rows)
SELECT '' AS six, f1 as reltime, timespan( f1) AS timespan
FROM RELTIME_TBL;
six | reltime | timespan
-----+---------------+---------------
| @ 1 min | @ 1 min
| @ 5 hours | @ 5 hours
| @ 10 days | @ 10 days
| @ 34 years | @ 34 years
| @ 3 mons | @ 3 mons
| @ 14 secs ago | @ 14 secs ago
(6 rows)
DROP TABLE TEMP_DATETIME;
--
-- formats
--
SET DateStyle TO 'US,Postgres';
SHOW DateStyle;
NOTICE: DateStyle is Postgres with US (NonEuropean) conventions
SELECT '' AS sixty_two, d1 AS us_postgres FROM DATETIME_TBL;
sixty_two | us_postgres
-----------+---------------------------------
| invalid
| -infinity
| infinity
| epoch
| Mon Feb 10 17:32:01 1997 PST
| invalid
| invalid
| Mon Feb 10 17:32:01.00 1997 PST
| Mon Feb 10 17:32:02.00 1997 PST
| Mon Feb 10 17:32:01.40 1997 PST
| Mon Feb 10 17:32:01.50 1997 PST
| Mon Feb 10 17:32:01.60 1997 PST
| Thu Jan 02 00:00:00 1997 PST
| Thu Jan 02 03:04:05 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Tue Jun 10 17:32:01 1997 PDT
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:00 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Tue Jun 10 18:32:01 1997 PDT
| Mon Feb 10 17:32:01 1997 PST
| Tue Feb 11 17:32:01 1997 PST
| Wed Feb 12 17:32:01 1997 PST
| Thu Feb 13 17:32:01 1997 PST
| Fri Feb 14 17:32:01 1997 PST
| Sat Feb 15 17:32:01 1997 PST
| Sun Feb 16 17:32:01 1997 PST
| Tue Feb 16 17:32 0097 BC
| Sat Feb 16 17:32:01 0097
| Thu Feb 16 17:32:01 0597
| Tue Feb 16 17:32:01 1097
| Sat Feb 16 17:32:01 1697
| Thu Feb 16 17:32:01 1797
| Tue Feb 16 17:32:01 1897
| Sun Feb 16 17:32:01 1997 PST
| Sat Feb 16 17:32:01 2097
| Wed Feb 28 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST
| Wed Jan 01 17:32:01 1997 PST
| Fri Feb 28 17:32:01 1997 PST
| Sat Mar 01 17:32:01 1997 PST
| Tue Dec 30 17:32:01 1997 PST
| Wed Dec 31 17:32:01 1997 PST
| Fri Dec 31 17:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST
(61 rows)
SELECT '' AS eight, f1 AS us_postgres FROM ABSTIME_TBL;
eight | us_postgres
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
| Sat May 10 23:59:12 1947 PDT
| invalid
(8 rows)
SET DateStyle TO 'US,ISO';
SELECT '' AS sixty_two, d1 AS us_iso FROM DATETIME_TBL;
sixty_two | us_iso
-----------+---------------------------
| invalid
| -infinity
| infinity
| epoch
| 1997-02-10 17:32:01-08
| invalid
| invalid
| 1997-02-10 17:32:01.00-08
| 1997-02-10 17:32:02.00-08
| 1997-02-10 17:32:01.40-08
| 1997-02-10 17:32:01.50-08
| 1997-02-10 17:32:01.60-08
| 1997-01-02 00:00:00-08
| 1997-01-02 03:04:05-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-06-10 17:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:00-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-06-10 18:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-11 17:32:01-08
| 1997-02-12 17:32:01-08
| 1997-02-13 17:32:01-08
| 1997-02-14 17:32:01-08
| 1997-02-15 17:32:01-08
| 1997-02-16 17:32:01-08
| 0097-02-16 17:32 BC
| 0097-02-16 17:32:01
| 0597-02-16 17:32:01
| 1097-02-16 17:32:01
| 1697-02-16 17:32:01
| 1797-02-16 17:32:01
| 1897-02-16 17:32:01
| 1997-02-16 17:32:01-08
| 2097-02-16 17:32:01
| 1996-02-28 17:32:01-08
| 1996-02-29 17:32:01-08
| 1996-03-01 17:32:01-08
| 1996-12-30 17:32:01-08
| 1996-12-31 17:32:01-08
| 1997-01-01 17:32:01-08
| 1997-02-28 17:32:01-08
| 1997-03-01 17:32:01-08
| 1997-12-30 17:32:01-08
| 1997-12-31 17:32:01-08
| 1999-12-31 17:32:01-08
| 2000-01-01 17:32:01-08
| 2000-12-31 17:32:01-08
| 2001-01-01 17:32:01-08
(61 rows)
SELECT '' AS eight, f1 AS us_iso FROM ABSTIME_TBL;
eight | us_iso
-------+------------------------
| 1973-01-14 03:14:21-08
| 1995-05-01 00:30:30-07
| epoch
| current
| infinity
| -infinity
| 1947-05-10 23:59:12-07
| invalid
(8 rows)
SET DateStyle TO 'US,SQL';
SHOW DateStyle;
NOTICE: DateStyle is SQL with US (NonEuropean) conventions
SELECT '' AS sixty_two, d1 AS us_sql FROM DATETIME_TBL;
sixty_two | us_sql
-----------+----------------------------
| invalid
| -infinity
| infinity
| epoch
| 02/10/1997 17:32:01.00 PST
| invalid
| invalid
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:02.00 PST
| 02/10/1997 17:32:01.40 PST
| 02/10/1997 17:32:01.50 PST
| 02/10/1997 17:32:01.60 PST
| 01/02/1997 00:00:00.00 PST
| 01/02/1997 03:04:05.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 06/10/1997 17:32:01.00 PDT
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:00.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 06/10/1997 18:32:01.00 PDT
| 02/10/1997 17:32:01.00 PST
| 02/11/1997 17:32:01.00 PST
| 02/12/1997 17:32:01.00 PST
| 02/13/1997 17:32:01.00 PST
| 02/14/1997 17:32:01.00 PST
| 02/15/1997 17:32:01.00 PST
| 02/16/1997 17:32:01.00 PST
| 02/16/0097 17:32 BC
| 02/16/0097 17:32:01.00
| 02/16/0597 17:32:01.00
| 02/16/1097 17:32:01.00
| 02/16/1697 17:32:01.00
| 02/16/1797 17:32:01.00
| 02/16/1897 17:32:01.00
| 02/16/1997 17:32:01.00 PST
| 02/16/2097 17:32:01.00
| 02/28/1996 17:32:01.00 PST
| 02/29/1996 17:32:01.00 PST
| 03/01/1996 17:32:01.00 PST
| 12/30/1996 17:32:01.00 PST
| 12/31/1996 17:32:01.00 PST
| 01/01/1997 17:32:01.00 PST
| 02/28/1997 17:32:01.00 PST
| 03/01/1997 17:32:01.00 PST
| 12/30/1997 17:32:01.00 PST
| 12/31/1997 17:32:01.00 PST
| 12/31/1999 17:32:01.00 PST
| 01/01/2000 17:32:01.00 PST
| 12/31/2000 17:32:01.00 PST
| 01/01/2001 17:32:01.00 PST
(61 rows)
SELECT '' AS eight, f1 AS us_sql FROM ABSTIME_TBL;
eight | us_sql
-------+----------------------------
| 01/14/1973 03:14:21.00 PST
| 05/01/1995 00:30:30.00 PDT
| epoch
| current
| infinity
| -infinity
| 05/10/1947 23:59:12.00 PDT
| invalid
(8 rows)
SET DateStyle TO 'European,Postgres';
SHOW DateStyle;
NOTICE: DateStyle is Postgres with European conventions
INSERT INTO DATETIME_TBL VALUES('13/06/1957');
SELECT count(*) as one FROM DATETIME_TBL WHERE d1 = 'Jun 13 1957';
one
-----
1
(1 row)
SELECT '' AS sixty_three, d1 AS european_postgres FROM DATETIME_TBL;
sixty_three | european_postgres
-------------+---------------------------------
| invalid
| -infinity
| infinity
| epoch
| Mon 10 Feb 17:32:01 1997 PST
| invalid
| invalid
| Mon 10 Feb 17:32:01.00 1997 PST
| Mon 10 Feb 17:32:02.00 1997 PST
| Mon 10 Feb 17:32:01.40 1997 PST
| Mon 10 Feb 17:32:01.50 1997 PST
| Mon 10 Feb 17:32:01.60 1997 PST
| Thu 02 Jan 00:00:00 1997 PST
| Thu 02 Jan 03:04:05 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Tue 10 Jun 17:32:01 1997 PDT
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:00 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Tue 10 Jun 18:32:01 1997 PDT
| Mon 10 Feb 17:32:01 1997 PST
| Tue 11 Feb 17:32:01 1997 PST
| Wed 12 Feb 17:32:01 1997 PST
| Thu 13 Feb 17:32:01 1997 PST
| Fri 14 Feb 17:32:01 1997 PST
| Sat 15 Feb 17:32:01 1997 PST
| Sun 16 Feb 17:32:01 1997 PST
| Tue 16 Feb 17:32 0097 BC
| Sat 16 Feb 17:32:01 0097
| Thu 16 Feb 17:32:01 0597
| Tue 16 Feb 17:32:01 1097
| Sat 16 Feb 17:32:01 1697
| Thu 16 Feb 17:32:01 1797
| Tue 16 Feb 17:32:01 1897
| Sun 16 Feb 17:32:01 1997 PST
| Sat 16 Feb 17:32:01 2097
| Wed 28 Feb 17:32:01 1996 PST
| Thu 29 Feb 17:32:01 1996 PST
| Fri 01 Mar 17:32:01 1996 PST
| Mon 30 Dec 17:32:01 1996 PST
| Tue 31 Dec 17:32:01 1996 PST
| Wed 01 Jan 17:32:01 1997 PST
| Fri 28 Feb 17:32:01 1997 PST
| Sat 01 Mar 17:32:01 1997 PST
| Tue 30 Dec 17:32:01 1997 PST
| Wed 31 Dec 17:32:01 1997 PST
| Fri 31 Dec 17:32:01 1999 PST
| Sat 01 Jan 17:32:01 2000 PST
| Sun 31 Dec 17:32:01 2000 PST
| Mon 01 Jan 17:32:01 2001 PST
| Thu 13 Jun 00:00:00 1957 PDT
(62 rows)
SELECT '' AS eight, f1 AS european_postgres FROM ABSTIME_TBL;
eight | european_postgres
-------+------------------------------
| Sun 14 Jan 03:14:21 1973 PST
| Mon 01 May 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
| Sat 10 May 23:59:12 1947 PDT
| invalid
(8 rows)
SET DateStyle TO 'European,ISO';
SHOW DateStyle;
NOTICE: DateStyle is ISO with European conventions
SELECT '' AS sixty_three, d1 AS european_iso FROM DATETIME_TBL;
sixty_three | european_iso
-------------+---------------------------
| invalid
| -infinity
| infinity
| epoch
| 1997-02-10 17:32:01-08
| invalid
| invalid
| 1997-02-10 17:32:01.00-08
| 1997-02-10 17:32:02.00-08
| 1997-02-10 17:32:01.40-08
| 1997-02-10 17:32:01.50-08
| 1997-02-10 17:32:01.60-08
| 1997-01-02 00:00:00-08
| 1997-01-02 03:04:05-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-06-10 17:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:00-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-06-10 18:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-11 17:32:01-08
| 1997-02-12 17:32:01-08
| 1997-02-13 17:32:01-08
| 1997-02-14 17:32:01-08
| 1997-02-15 17:32:01-08
| 1997-02-16 17:32:01-08
| 0097-02-16 17:32 BC
| 0097-02-16 17:32:01
| 0597-02-16 17:32:01
| 1097-02-16 17:32:01
| 1697-02-16 17:32:01
| 1797-02-16 17:32:01
| 1897-02-16 17:32:01
| 1997-02-16 17:32:01-08
| 2097-02-16 17:32:01
| 1996-02-28 17:32:01-08
| 1996-02-29 17:32:01-08
| 1996-03-01 17:32:01-08
| 1996-12-30 17:32:01-08
| 1996-12-31 17:32:01-08
| 1997-01-01 17:32:01-08
| 1997-02-28 17:32:01-08
| 1997-03-01 17:32:01-08
| 1997-12-30 17:32:01-08
| 1997-12-31 17:32:01-08
| 1999-12-31 17:32:01-08
| 2000-01-01 17:32:01-08
| 2000-12-31 17:32:01-08
| 2001-01-01 17:32:01-08
| 1957-06-13 00:00:00-07
(62 rows)
SELECT '' AS eight, f1 AS european_iso FROM ABSTIME_TBL;
eight | european_iso
-------+------------------------
| 1973-01-14 03:14:21-08
| 1995-05-01 00:30:30-07
| epoch
| current
| infinity
| -infinity
| 1947-05-10 23:59:12-07
| invalid
(8 rows)
SET DateStyle TO 'European,SQL';
SHOW DateStyle;
NOTICE: DateStyle is SQL with European conventions
SELECT '' AS sixty_three, d1 AS european_sql FROM DATETIME_TBL;
sixty_three | european_sql
-------------+----------------------------
| invalid
| -infinity
| infinity
| epoch
| 10/02/1997 17:32:01.00 PST
| invalid
| invalid
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:02.00 PST
| 10/02/1997 17:32:01.40 PST
| 10/02/1997 17:32:01.50 PST
| 10/02/1997 17:32:01.60 PST
| 02/01/1997 00:00:00.00 PST
| 02/01/1997 03:04:05.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/06/1997 17:32:01.00 PDT
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:00.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/06/1997 18:32:01.00 PDT
| 10/02/1997 17:32:01.00 PST
| 11/02/1997 17:32:01.00 PST
| 12/02/1997 17:32:01.00 PST
| 13/02/1997 17:32:01.00 PST
| 14/02/1997 17:32:01.00 PST
| 15/02/1997 17:32:01.00 PST
| 16/02/1997 17:32:01.00 PST
| 16/02/0097 17:32 BC
| 16/02/0097 17:32:01.00
| 16/02/0597 17:32:01.00
| 16/02/1097 17:32:01.00
| 16/02/1697 17:32:01.00
| 16/02/1797 17:32:01.00
| 16/02/1897 17:32:01.00
| 16/02/1997 17:32:01.00 PST
| 16/02/2097 17:32:01.00
| 28/02/1996 17:32:01.00 PST
| 29/02/1996 17:32:01.00 PST
| 01/03/1996 17:32:01.00 PST
| 30/12/1996 17:32:01.00 PST
| 31/12/1996 17:32:01.00 PST
| 01/01/1997 17:32:01.00 PST
| 28/02/1997 17:32:01.00 PST
| 01/03/1997 17:32:01.00 PST
| 30/12/1997 17:32:01.00 PST
| 31/12/1997 17:32:01.00 PST
| 31/12/1999 17:32:01.00 PST
| 01/01/2000 17:32:01.00 PST
| 31/12/2000 17:32:01.00 PST
| 01/01/2001 17:32:01.00 PST
| 13/06/1957 00:00:00.00 PDT
(62 rows)
SELECT '' AS eight, f1 AS european_sql FROM ABSTIME_TBL;
eight | european_sql
-------+----------------------------
| 14/01/1973 03:14:21.00 PST
| 01/05/1995 00:30:30.00 PDT
| epoch
| current
| infinity
| -infinity
| 10/05/1947 23:59:12.00 PDT
| invalid
(8 rows)
RESET DateStyle;
SHOW DateStyle;
NOTICE: DateStyle is Postgres with US (NonEuropean) conventions
--
-- formats
--
SET DateStyle TO 'US,Postgres';
SHOW DateStyle;
NOTICE: DateStyle is Postgres with US (NonEuropean) conventions
SELECT '' AS sixty_two, d1 AS us_postgres FROM DATETIME_TBL;
sixty_two | us_postgres
-----------+---------------------------------
| invalid
| -infinity
| infinity
| epoch
| Mon Feb 10 17:32:01 1997 PST
| invalid
| invalid
| Mon Feb 10 17:32:01.00 1997 PST
| Mon Feb 10 17:32:02.00 1997 PST
| Mon Feb 10 17:32:01.40 1997 PST
| Mon Feb 10 17:32:01.50 1997 PST
| Mon Feb 10 17:32:01.60 1997 PST
| Thu Jan 02 00:00:00 1997 PST
| Thu Jan 02 03:04:05 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Tue Jun 10 17:32:01 1997 PDT
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:00 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 17:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Mon Feb 10 09:32:01 1997 PST
| Tue Jun 10 18:32:01 1997 PDT
| Mon Feb 10 17:32:01 1997 PST
| Tue Feb 11 17:32:01 1997 PST
| Wed Feb 12 17:32:01 1997 PST
| Thu Feb 13 17:32:01 1997 PST
| Fri Feb 14 17:32:01 1997 PST
| Sat Feb 15 17:32:01 1997 PST
| Sun Feb 16 17:32:01 1997 PST
| Tue Feb 16 17:32 0097 BC
| Sat Feb 16 17:32:01 0097
| Thu Feb 16 17:32:01 0597
| Tue Feb 16 17:32:01 1097
| Sat Feb 16 17:32:01 1697
| Thu Feb 16 17:32:01 1797
| Tue Feb 16 17:32:01 1897
| Sun Feb 16 17:32:01 1997 PST
| Sat Feb 16 17:32:01 2097
| Wed Feb 28 17:32:01 1996 PST
| Thu Feb 29 17:32:01 1996 PST
| Fri Mar 01 17:32:01 1996 PST
| Mon Dec 30 17:32:01 1996 PST
| Tue Dec 31 17:32:01 1996 PST
| Wed Jan 01 17:32:01 1997 PST
| Fri Feb 28 17:32:01 1997 PST
| Sat Mar 01 17:32:01 1997 PST
| Tue Dec 30 17:32:01 1997 PST
| Wed Dec 31 17:32:01 1997 PST
| Fri Dec 31 17:32:01 1999 PST
| Sat Jan 01 17:32:01 2000 PST
| Sun Dec 31 17:32:01 2000 PST
| Mon Jan 01 17:32:01 2001 PST
| Thu Jun 13 00:00:00 1957 PDT
(62 rows)
SELECT '' AS eight, f1 AS us_postgres FROM ABSTIME_TBL;
eight | us_postgres
-------+------------------------------
| Sun Jan 14 03:14:21 1973 PST
| Mon May 01 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
| Sat May 10 23:59:12 1947 PDT
| invalid
(8 rows)
SET DateStyle TO 'US,ISO';
SELECT '' AS sixty_two, d1 AS us_iso FROM DATETIME_TBL;
sixty_two | us_iso
-----------+---------------------------
| invalid
| -infinity
| infinity
| epoch
| 1997-02-10 17:32:01-08
| invalid
| invalid
| 1997-02-10 17:32:01.00-08
| 1997-02-10 17:32:02.00-08
| 1997-02-10 17:32:01.40-08
| 1997-02-10 17:32:01.50-08
| 1997-02-10 17:32:01.60-08
| 1997-01-02 00:00:00-08
| 1997-01-02 03:04:05-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-06-10 17:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:00-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-06-10 18:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-11 17:32:01-08
| 1997-02-12 17:32:01-08
| 1997-02-13 17:32:01-08
| 1997-02-14 17:32:01-08
| 1997-02-15 17:32:01-08
| 1997-02-16 17:32:01-08
| 0097-02-16 17:32 BC
| 0097-02-16 17:32:01
| 0597-02-16 17:32:01
| 1097-02-16 17:32:01
| 1697-02-16 17:32:01
| 1797-02-16 17:32:01
| 1897-02-16 17:32:01
| 1997-02-16 17:32:01-08
| 2097-02-16 17:32:01
| 1996-02-28 17:32:01-08
| 1996-02-29 17:32:01-08
| 1996-03-01 17:32:01-08
| 1996-12-30 17:32:01-08
| 1996-12-31 17:32:01-08
| 1997-01-01 17:32:01-08
| 1997-02-28 17:32:01-08
| 1997-03-01 17:32:01-08
| 1997-12-30 17:32:01-08
| 1997-12-31 17:32:01-08
| 1999-12-31 17:32:01-08
| 2000-01-01 17:32:01-08
| 2000-12-31 17:32:01-08
| 2001-01-01 17:32:01-08
| 1957-06-13 00:00:00-07
(62 rows)
SELECT '' AS eight, f1 AS us_iso FROM ABSTIME_TBL;
eight | us_iso
-------+------------------------
| 1973-01-14 03:14:21-08
| 1995-05-01 00:30:30-07
| epoch
| current
| infinity
| -infinity
| 1947-05-10 23:59:12-07
| invalid
(8 rows)
SET DateStyle TO 'US,SQL';
SHOW DateStyle;
NOTICE: DateStyle is SQL with US (NonEuropean) conventions
SELECT '' AS sixty_two, d1 AS us_sql FROM DATETIME_TBL;
sixty_two | us_sql
-----------+----------------------------
| invalid
| -infinity
| infinity
| epoch
| 02/10/1997 17:32:01.00 PST
| invalid
| invalid
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:02.00 PST
| 02/10/1997 17:32:01.40 PST
| 02/10/1997 17:32:01.50 PST
| 02/10/1997 17:32:01.60 PST
| 01/02/1997 00:00:00.00 PST
| 01/02/1997 03:04:05.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 06/10/1997 17:32:01.00 PDT
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:00.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 17:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 02/10/1997 09:32:01.00 PST
| 06/10/1997 18:32:01.00 PDT
| 02/10/1997 17:32:01.00 PST
| 02/11/1997 17:32:01.00 PST
| 02/12/1997 17:32:01.00 PST
| 02/13/1997 17:32:01.00 PST
| 02/14/1997 17:32:01.00 PST
| 02/15/1997 17:32:01.00 PST
| 02/16/1997 17:32:01.00 PST
| 02/16/0097 17:32 BC
| 02/16/0097 17:32:01.00
| 02/16/0597 17:32:01.00
| 02/16/1097 17:32:01.00
| 02/16/1697 17:32:01.00
| 02/16/1797 17:32:01.00
| 02/16/1897 17:32:01.00
| 02/16/1997 17:32:01.00 PST
| 02/16/2097 17:32:01.00
| 02/28/1996 17:32:01.00 PST
| 02/29/1996 17:32:01.00 PST
| 03/01/1996 17:32:01.00 PST
| 12/30/1996 17:32:01.00 PST
| 12/31/1996 17:32:01.00 PST
| 01/01/1997 17:32:01.00 PST
| 02/28/1997 17:32:01.00 PST
| 03/01/1997 17:32:01.00 PST
| 12/30/1997 17:32:01.00 PST
| 12/31/1997 17:32:01.00 PST
| 12/31/1999 17:32:01.00 PST
| 01/01/2000 17:32:01.00 PST
| 12/31/2000 17:32:01.00 PST
| 01/01/2001 17:32:01.00 PST
| 06/13/1957 00:00:00.00 PDT
(62 rows)
SELECT '' AS eight, f1 AS us_sql FROM ABSTIME_TBL;
eight | us_sql
-------+----------------------------
| 01/14/1973 03:14:21.00 PST
| 05/01/1995 00:30:30.00 PDT
| epoch
| current
| infinity
| -infinity
| 05/10/1947 23:59:12.00 PDT
| invalid
(8 rows)
SET DateStyle TO 'European,Postgres';
SHOW DateStyle;
NOTICE: DateStyle is Postgres with European conventions
INSERT INTO DATETIME_TBL VALUES('13/06/1957');
SELECT count(*) as one FROM DATETIME_TBL WHERE d1 = 'Jun 13 1957';
one
-----
2
(1 row)
SELECT '' AS sixty_three, d1 AS european_postgres FROM DATETIME_TBL;
sixty_three | european_postgres
-------------+---------------------------------
| invalid
| -infinity
| infinity
| epoch
| Mon 10 Feb 17:32:01 1997 PST
| invalid
| invalid
| Mon 10 Feb 17:32:01.00 1997 PST
| Mon 10 Feb 17:32:02.00 1997 PST
| Mon 10 Feb 17:32:01.40 1997 PST
| Mon 10 Feb 17:32:01.50 1997 PST
| Mon 10 Feb 17:32:01.60 1997 PST
| Thu 02 Jan 00:00:00 1997 PST
| Thu 02 Jan 03:04:05 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Tue 10 Jun 17:32:01 1997 PDT
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:00 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 17:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Mon 10 Feb 09:32:01 1997 PST
| Tue 10 Jun 18:32:01 1997 PDT
| Mon 10 Feb 17:32:01 1997 PST
| Tue 11 Feb 17:32:01 1997 PST
| Wed 12 Feb 17:32:01 1997 PST
| Thu 13 Feb 17:32:01 1997 PST
| Fri 14 Feb 17:32:01 1997 PST
| Sat 15 Feb 17:32:01 1997 PST
| Sun 16 Feb 17:32:01 1997 PST
| Tue 16 Feb 17:32 0097 BC
| Sat 16 Feb 17:32:01 0097
| Thu 16 Feb 17:32:01 0597
| Tue 16 Feb 17:32:01 1097
| Sat 16 Feb 17:32:01 1697
| Thu 16 Feb 17:32:01 1797
| Tue 16 Feb 17:32:01 1897
| Sun 16 Feb 17:32:01 1997 PST
| Sat 16 Feb 17:32:01 2097
| Wed 28 Feb 17:32:01 1996 PST
| Thu 29 Feb 17:32:01 1996 PST
| Fri 01 Mar 17:32:01 1996 PST
| Mon 30 Dec 17:32:01 1996 PST
| Tue 31 Dec 17:32:01 1996 PST
| Wed 01 Jan 17:32:01 1997 PST
| Fri 28 Feb 17:32:01 1997 PST
| Sat 01 Mar 17:32:01 1997 PST
| Tue 30 Dec 17:32:01 1997 PST
| Wed 31 Dec 17:32:01 1997 PST
| Fri 31 Dec 17:32:01 1999 PST
| Sat 01 Jan 17:32:01 2000 PST
| Sun 31 Dec 17:32:01 2000 PST
| Mon 01 Jan 17:32:01 2001 PST
| Thu 13 Jun 00:00:00 1957 PDT
| Thu 13 Jun 00:00:00 1957 PDT
(63 rows)
SELECT '' AS eight, f1 AS european_postgres FROM ABSTIME_TBL;
eight | european_postgres
-------+------------------------------
| Sun 14 Jan 03:14:21 1973 PST
| Mon 01 May 00:30:30 1995 PDT
| epoch
| current
| infinity
| -infinity
| Sat 10 May 23:59:12 1947 PDT
| invalid
(8 rows)
SET DateStyle TO 'European,ISO';
SHOW DateStyle;
NOTICE: DateStyle is ISO with European conventions
SELECT '' AS sixty_three, d1 AS european_iso FROM DATETIME_TBL;
sixty_three | european_iso
-------------+---------------------------
| invalid
| -infinity
| infinity
| epoch
| 1997-02-10 17:32:01-08
| invalid
| invalid
| 1997-02-10 17:32:01.00-08
| 1997-02-10 17:32:02.00-08
| 1997-02-10 17:32:01.40-08
| 1997-02-10 17:32:01.50-08
| 1997-02-10 17:32:01.60-08
| 1997-01-02 00:00:00-08
| 1997-01-02 03:04:05-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-06-10 17:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:00-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 17:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-02-10 09:32:01-08
| 1997-06-10 18:32:01-07
| 1997-02-10 17:32:01-08
| 1997-02-11 17:32:01-08
| 1997-02-12 17:32:01-08
| 1997-02-13 17:32:01-08
| 1997-02-14 17:32:01-08
| 1997-02-15 17:32:01-08
| 1997-02-16 17:32:01-08
| 0097-02-16 17:32 BC
| 0097-02-16 17:32:01
| 0597-02-16 17:32:01
| 1097-02-16 17:32:01
| 1697-02-16 17:32:01
| 1797-02-16 17:32:01
| 1897-02-16 17:32:01
| 1997-02-16 17:32:01-08
| 2097-02-16 17:32:01
| 1996-02-28 17:32:01-08
| 1996-02-29 17:32:01-08
| 1996-03-01 17:32:01-08
| 1996-12-30 17:32:01-08
| 1996-12-31 17:32:01-08
| 1997-01-01 17:32:01-08
| 1997-02-28 17:32:01-08
| 1997-03-01 17:32:01-08
| 1997-12-30 17:32:01-08
| 1997-12-31 17:32:01-08
| 1999-12-31 17:32:01-08
| 2000-01-01 17:32:01-08
| 2000-12-31 17:32:01-08
| 2001-01-01 17:32:01-08
| 1957-06-13 00:00:00-07
| 1957-06-13 00:00:00-07
(63 rows)
SELECT '' AS eight, f1 AS european_iso FROM ABSTIME_TBL;
eight | european_iso
-------+------------------------
| 1973-01-14 03:14:21-08
| 1995-05-01 00:30:30-07
| epoch
| current
| infinity
| -infinity
| 1947-05-10 23:59:12-07
| invalid
(8 rows)
SET DateStyle TO 'European,SQL';
SHOW DateStyle;
NOTICE: DateStyle is SQL with European conventions
SELECT '' AS sixty_three, d1 AS european_sql FROM DATETIME_TBL;
sixty_three | european_sql
-------------+----------------------------
| invalid
| -infinity
| infinity
| epoch
| 10/02/1997 17:32:01.00 PST
| invalid
| invalid
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:02.00 PST
| 10/02/1997 17:32:01.40 PST
| 10/02/1997 17:32:01.50 PST
| 10/02/1997 17:32:01.60 PST
| 02/01/1997 00:00:00.00 PST
| 02/01/1997 03:04:05.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/06/1997 17:32:01.00 PDT
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:00.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 17:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/02/1997 09:32:01.00 PST
| 10/06/1997 18:32:01.00 PDT
| 10/02/1997 17:32:01.00 PST
| 11/02/1997 17:32:01.00 PST
| 12/02/1997 17:32:01.00 PST
| 13/02/1997 17:32:01.00 PST
| 14/02/1997 17:32:01.00 PST
| 15/02/1997 17:32:01.00 PST
| 16/02/1997 17:32:01.00 PST
| 16/02/0097 17:32 BC
| 16/02/0097 17:32:01.00
| 16/02/0597 17:32:01.00
| 16/02/1097 17:32:01.00
| 16/02/1697 17:32:01.00
| 16/02/1797 17:32:01.00
| 16/02/1897 17:32:01.00
| 16/02/1997 17:32:01.00 PST
| 16/02/2097 17:32:01.00
| 28/02/1996 17:32:01.00 PST
| 29/02/1996 17:32:01.00 PST
| 01/03/1996 17:32:01.00 PST
| 30/12/1996 17:32:01.00 PST
| 31/12/1996 17:32:01.00 PST
| 01/01/1997 17:32:01.00 PST
| 28/02/1997 17:32:01.00 PST
| 01/03/1997 17:32:01.00 PST
| 30/12/1997 17:32:01.00 PST
| 31/12/1997 17:32:01.00 PST
| 31/12/1999 17:32:01.00 PST
| 01/01/2000 17:32:01.00 PST
| 31/12/2000 17:32:01.00 PST
| 01/01/2001 17:32:01.00 PST
| 13/06/1957 00:00:00.00 PDT
| 13/06/1957 00:00:00.00 PDT
(63 rows)
SELECT '' AS eight, f1 AS european_sql FROM ABSTIME_TBL;
eight | european_sql
-------+----------------------------
| 14/01/1973 03:14:21.00 PST
| 01/05/1995 00:30:30.00 PDT
| epoch
| current
| infinity
| -infinity
| 10/05/1947 23:59:12.00 PDT
| invalid
(8 rows)
RESET DateStyle;
SHOW DateStyle;
NOTICE: DateStyle is Postgres with US (NonEuropean) conventions
--
-- TINTERVAL
--
CREATE TABLE TINTERVAL_TBL (f1 tinterval);
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["-infinity" "infinity"]');
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["May 10, 1947 23:59:12" "Jan 14, 1973 03:14:21"]');
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["Sep 4, 1983 23:59:12" "Oct 4, 1983 23:59:12"]');
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["epoch" "Mon May 1 00:30:30 1995"]');
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["Feb 15 1990 12:15:03" "current"]');
-- badly formatted tintervals
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["bad time specifications" ""]');
ERROR: Bad abstime external representation 'bad time specifications'
INSERT INTO TINTERVAL_TBL (f1)
VALUES ('["" "infinity"]');
ERROR: Bad abstime external representation ''
-- test tinterval operators
SELECT '' AS five, TINTERVAL_TBL.*;
five | f1
------+-----------------------------------------------------------------
| ["-infinity" "infinity"]
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"]
(5 rows)
-- length ==
SELECT '' AS one, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #= '@ 1 months';
one | f1
-----+-----------------------------------------------------------------
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
(1 row)
-- length <>
SELECT '' AS three, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #<> '@ 1 months';
three | f1
-------+-----------------------------------------------------------------
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"]
(3 rows)
-- length <
SELECT '' AS zero, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #< '@ 1 month';
zero | f1
------+----
(0 rows)
-- length <=
SELECT '' AS one, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #<= '@ 1 month';
one | f1
-----+-----------------------------------------------------------------
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
(1 row)
-- length >
SELECT '' AS three, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #> '@ 1 year';
three | f1
-------+-----------------------------------------------------------------
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"]
(3 rows)
-- length >=
SELECT '' AS three, t.*
FROM TINTERVAL_TBL t
WHERE t.f1 #>= '@ 3 years';
three | f1
-------+-----------------------------------------------------------------
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"]
(3 rows)
-- overlaps
SELECT '' AS three, t1.*
FROM TINTERVAL_TBL t1
WHERE t1.f1 &&
tinterval '["Aug 15 14:23:19 1983" "Sep 16 14:23:19 1983"]';
three | f1
-------+-----------------------------------------------------------------
| ["-infinity" "infinity"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
(3 rows)
SET geqo TO 'off';
SELECT '' AS five, t1.f1, t2.f1
FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
WHERE t1.f1 && t2.f1 and
t1.f1 = t2.f1
ORDER BY t1.f1, t2.f1;
five | f1 | f1
------+-----------------------------------------------------------------+-----------------------------------------------------------------
| ["-infinity" "infinity"] | ["-infinity" "infinity"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"] | ["Thu Feb 15 12:15:03 1990 PST" "current"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"] | ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"] | ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
(5 rows)
SELECT '' AS fourteen, t1.f1 AS interval1, t2.f1 AS interval2
FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
WHERE t1.f1 && t2.f1 and not t1.f1 = t2.f1
ORDER BY interval1, interval2;
fourteen | interval1 | interval2
----------+-----------------------------------------------------------------+-----------------------------------------------------------------
| ["-infinity" "infinity"] | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["-infinity" "infinity"] | ["Thu Feb 15 12:15:03 1990 PST" "current"]
| ["-infinity" "infinity"] | ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["-infinity" "infinity"] | ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["-infinity" "infinity"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"] | ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"] | ["-infinity" "infinity"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"] | ["epoch" "Mon May 01 00:30:30 1995 PDT"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"] | ["-infinity" "infinity"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"] | ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"] | ["Thu Feb 15 12:15:03 1990 PST" "current"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"] | ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"] | ["-infinity" "infinity"]
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"] | ["epoch" "Mon May 01 00:30:30 1995 PDT"]
(14 rows)
-- contains
SELECT '' AS five, t1.f1
FROM TINTERVAL_TBL t1
WHERE not t1.f1 <<
tinterval '["Aug 15 14:23:19 1980" "Sep 16 14:23:19 1990"]'
ORDER BY t1.f1;
five | f1
------+-----------------------------------------------------------------
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["Thu Feb 15 12:15:03 1990 PST" "current"]
| ["Sat May 10 23:59:12 1947 PDT" "Sun Jan 14 03:14:21 1973 PST"]
(3 rows)
-- make time interval
SELECT '' AS three, t1.f1
FROM TINTERVAL_TBL t1
WHERE t1.f1 &&
(abstime 'Aug 15 14:23:19 1983' <#>
abstime 'Sep 16 14:23:19 1983')
ORDER BY t1.f1;
three | f1
-------+-----------------------------------------------------------------
| ["-infinity" "infinity"]
| ["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
| ["epoch" "Mon May 01 00:30:30 1995 PDT"]
(3 rows)
RESET geqo;
......@@ -4,7 +4,13 @@ int2/.*-netbsd=int2-too-large
int4/.*-netbsd=int4-too-large
int2/i.86-pc-linux-gnulibc=int2-not-representable
int4/i.86-pc-linux-gnulibc=int4-not-representable
int2/sparc-sun-solaris=int2-too-large
int4/sparc-sun-solaris=int4-too-large
geometry/hppa=geometry-positive-zeros
geometry/.*-netbsd=geometry-positive-zeros
geometry/i.86-.*-gnulibc=geometry-i86-gnulibc
geometry/sparc-sun-solaris=geometry-solaris-precision
horology/hppa=horology-no-DST-before-1970
horology/sparc-sun-solaris=horology-solaris-1947
abstime/sparc-sun-solaris=abstime-solaris-1947
tinterval/sparc-sun-solaris=tinterval-solaris-1947
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment