mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-12 19:07:59 +02:00
0d93504c40
Modify date->timestamp conversion to use mktime(). This should do better than before around Daylight Savings Time transitions.
51 lines
1.4 KiB
SQL
51 lines
1.4 KiB
SQL
--
|
|
-- DATE
|
|
--
|
|
|
|
CREATE TABLE DATE_TBL (f1 date);
|
|
|
|
INSERT INTO DATE_TBL VALUES ('1957-04-09');
|
|
INSERT INTO DATE_TBL VALUES ('1957-06-13');
|
|
INSERT INTO DATE_TBL VALUES ('1996-02-28');
|
|
INSERT INTO DATE_TBL VALUES ('1996-02-29');
|
|
INSERT INTO DATE_TBL VALUES ('1996-03-01');
|
|
INSERT INTO DATE_TBL VALUES ('1996-03-02');
|
|
INSERT INTO DATE_TBL VALUES ('1997-02-28');
|
|
INSERT INTO DATE_TBL VALUES ('1997-02-29');
|
|
INSERT INTO DATE_TBL VALUES ('1997-03-01');
|
|
INSERT INTO DATE_TBL VALUES ('1997-03-02');
|
|
INSERT INTO DATE_TBL VALUES ('2000-04-01');
|
|
INSERT INTO DATE_TBL VALUES ('2000-04-02');
|
|
INSERT INTO DATE_TBL VALUES ('2000-04-03');
|
|
INSERT INTO DATE_TBL VALUES ('2038-04-08');
|
|
INSERT INTO DATE_TBL VALUES ('2039-04-09');
|
|
INSERT INTO DATE_TBL VALUES ('2040-04-10');
|
|
|
|
SELECT f1 AS "Fifteen" FROM DATE_TBL;
|
|
|
|
SELECT f1 AS "Nine" FROM DATE_TBL WHERE f1 < '2000-01-01';
|
|
|
|
SELECT f1 AS "Three" FROM DATE_TBL
|
|
WHERE f1 BETWEEN '2000-01-01' AND '2001-01-01';
|
|
|
|
--
|
|
-- Simple math
|
|
-- Leave most of it for the horology tests
|
|
--
|
|
|
|
SELECT f1 - date '2000-01-01' AS "Days From 2K" FROM DATE_TBL;
|
|
|
|
SELECT f1 - date 'epoch' AS "Days From Epoch" FROM DATE_TBL;
|
|
|
|
SELECT date 'yesterday' - date 'today' AS "One day";
|
|
|
|
SELECT date 'today' - date 'tomorrow' AS "One day";
|
|
|
|
SELECT date 'yesterday' - date 'tomorrow' AS "Two days";
|
|
|
|
SELECT date 'tomorrow' - date 'today' AS "One day";
|
|
|
|
SELECT date 'today' - date 'yesterday' AS "One day";
|
|
|
|
SELECT date 'tomorrow' - date 'yesterday' AS "Two days";
|