📄 timestamp.out
字号:
---- TIMESTAMP---- needed so tests pass even in AustraliaSET australian_timezones = 'off';CREATE TABLE TIMESTAMP_TBL ( d1 timestamp(2) without time zone);-- Shorthand values-- Not directly usable for regression testing since these are not constants.-- So, just try to test parser and hope for the best - thomas 97/04/26-- NB: could get a failure if local midnight passes during the next few-- statements.INSERT INTO TIMESTAMP_TBL VALUES ('now');INSERT INTO TIMESTAMP_TBL VALUES ('current');ERROR: date/time value "current" is no longer supportedINSERT INTO TIMESTAMP_TBL VALUES ('today');INSERT INTO TIMESTAMP_TBL VALUES ('yesterday');INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow');INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow EST');INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow zulu');SELECT count(*) AS One FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'today'; one ----- 1(1 row)SELECT count(*) AS One FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'tomorrow'; one ----- 3(1 row)SELECT count(*) AS One FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'yesterday'; one ----- 1(1 row)SELECT count(*) AS None FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'now'; none ------ 0(1 row)DELETE FROM TIMESTAMP_TBL;-- verify uniform transaction time within transaction blockBEGIN;INSERT INTO TIMESTAMP_TBL VALUES ('now');INSERT INTO TIMESTAMP_TBL VALUES ('now');SELECT count(*) AS two FROM TIMESTAMP_TBL WHERE d1 = timestamp(2) without time zone 'now'; two ----- 2(1 row)END;DELETE FROM TIMESTAMP_TBL;-- Special valuesINSERT INTO TIMESTAMP_TBL VALUES ('-infinity');INSERT INTO TIMESTAMP_TBL VALUES ('infinity');INSERT INTO TIMESTAMP_TBL VALUES ('epoch');-- Obsolete special valuesINSERT INTO TIMESTAMP_TBL VALUES ('invalid');ERROR: date/time value "invalid" is no longer supported-- Postgres v6.0 standard output formatINSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Invalid Abstime');ERROR: date/time value "Invalid Abstime" is no longer supportedINSERT INTO TIMESTAMP_TBL VALUES ('Undefined Abstime');ERROR: date/time value "Undefined Abstime" is no longer supported-- Variations on Postgres v6.1 standard output formatINSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.4 1997 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.5 1997 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.6 1997 PST');-- ISO 8601 formatINSERT INTO TIMESTAMP_TBL VALUES ('1997-01-02');INSERT INTO TIMESTAMP_TBL VALUES ('1997-01-02 03:04:05');INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01-08');INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01-0800');INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01 -08:00');INSERT INTO TIMESTAMP_TBL VALUES ('19970210 173201 -0800');INSERT INTO TIMESTAMP_TBL VALUES ('1997-06-10 17:32:01 -07:00');INSERT INTO TIMESTAMP_TBL VALUES ('2001-09-22T18:19:20');-- POSIX formatINSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 08:14:01 GMT+8');INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 13:14:02 GMT-1');INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 12:14:03 GMT -2');INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 03:14:04 EST+3');INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 02:14:05 EST +2:00');-- Variations for acceptable input formatsINSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997 -0800');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 5:32PM 1997');INSERT INTO TIMESTAMP_TBL VALUES ('1997/02/10 17:32:01-0800');INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01 PST');INSERT INTO TIMESTAMP_TBL VALUES ('Feb-10-1997 17:32:01 PST');INSERT INTO TIMESTAMP_TBL VALUES ('02-10-1997 17:32:01 PST');INSERT INTO TIMESTAMP_TBL VALUES ('19970210 173201 PST');set datestyle to ymd;INSERT INTO TIMESTAMP_TBL VALUES ('97FEB10 5:32:01PM UTC');INSERT INTO TIMESTAMP_TBL VALUES ('97/02/10 17:32:01 UTC');reset datestyle;INSERT INTO TIMESTAMP_TBL VALUES ('1997.041 17:32:01 UTC');-- Check date conversion and date arithmeticINSERT INTO TIMESTAMP_TBL VALUES ('1997-06-10 18:32:01 PDT');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 11 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 12 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 13 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 14 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 15 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0097 BC');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0097');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0597');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1097');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1697');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1797');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1897');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 2097');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 28 17:32:01 1996');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 29 17:32:01 1996');INSERT INTO TIMESTAMP_TBL VALUES ('Mar 01 17:32:01 1996');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 30 17:32:01 1996');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1996');INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 28 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Feb 29 17:32:01 1997');ERROR: date/time field value out of range: "Feb 29 17:32:01 1997"INSERT INTO TIMESTAMP_TBL VALUES ('Mar 01 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 30 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1997');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1999');INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 2000');INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 2000');INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 2001');-- Currently unsupported syntax and rangesINSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 -0097');ERROR: time zone displacement out of range: "Feb 16 17:32:01 -0097"INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 5097 BC');ERROR: timestamp out of range: "Feb 16 17:32:01 5097 BC"SELECT '' AS "64", d1 FROM TIMESTAMP_TBL; 64 | d1 ----+----------------------------- | -infinity | infinity | Thu Jan 01 00:00:00 1970 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:02 1997 | Mon Feb 10 17:32:01.40 1997 | Mon Feb 10 17:32:01.50 1997 | Mon Feb 10 17:32:01.60 1997 | Thu Jan 02 00:00:00 1997 | Thu Jan 02 03:04:05 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Jun 10 17:32:01 1997 | Sat Sep 22 18:19:20 2001 | Wed Mar 15 08:14:01 2000 | Wed Mar 15 13:14:02 2000 | Wed Mar 15 12:14:03 2000 | Wed Mar 15 03:14:04 2000 | Wed Mar 15 02:14:05 2000 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:00 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Jun 10 18:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Feb 11 17:32:01 1997 | Wed Feb 12 17:32:01 1997 | Thu Feb 13 17:32:01 1997 | Fri Feb 14 17:32:01 1997 | Sat Feb 15 17:32:01 1997 | Sun Feb 16 17:32:01 1997 | Tue Feb 16 17:32:01 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 | Sat Feb 16 17:32:01 2097 | Wed Feb 28 17:32:01 1996 | Thu Feb 29 17:32:01 1996 | Fri Mar 01 17:32:01 1996 | Mon Dec 30 17:32:01 1996 | Tue Dec 31 17:32:01 1996 | Wed Jan 01 17:32:01 1997 | Fri Feb 28 17:32:01 1997 | Sat Mar 01 17:32:01 1997 | Tue Dec 30 17:32:01 1997 | Wed Dec 31 17:32:01 1997 | Fri Dec 31 17:32:01 1999 | Sat Jan 01 17:32:01 2000 | Sun Dec 31 17:32:01 2000 | Mon Jan 01 17:32:01 2001(64 rows)-- Demonstrate functions and operatorsSELECT '' AS "48", d1 FROM TIMESTAMP_TBL WHERE d1 > timestamp without time zone '1997-01-02'; 48 | d1 ----+----------------------------- | infinity | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:02 1997 | Mon Feb 10 17:32:01.40 1997 | Mon Feb 10 17:32:01.50 1997 | Mon Feb 10 17:32:01.60 1997 | Thu Jan 02 03:04:05 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Jun 10 17:32:01 1997 | Sat Sep 22 18:19:20 2001 | Wed Mar 15 08:14:01 2000 | Wed Mar 15 13:14:02 2000 | Wed Mar 15 12:14:03 2000 | Wed Mar 15 03:14:04 2000 | Wed Mar 15 02:14:05 2000 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:00 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Jun 10 18:32:01 1997 | Mon Feb 10 17:32:01 1997 | Tue Feb 11 17:32:01 1997 | Wed Feb 12 17:32:01 1997 | Thu Feb 13 17:32:01 1997 | Fri Feb 14 17:32:01 1997 | Sat Feb 15 17:32:01 1997 | Sun Feb 16 17:32:01 1997 | Sun Feb 16 17:32:01 1997 | Sat Feb 16 17:32:01 2097 | Fri Feb 28 17:32:01 1997 | Sat Mar 01 17:32:01 1997 | Tue Dec 30 17:32:01 1997 | Wed Dec 31 17:32:01 1997 | Fri Dec 31 17:32:01 1999 | Sat Jan 01 17:32:01 2000 | Sun Dec 31 17:32:01 2000 | Mon Jan 01 17:32:01 2001(48 rows)SELECT '' AS "15", d1 FROM TIMESTAMP_TBL WHERE d1 < timestamp without time zone '1997-01-02';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -