On Aug 20, 2008, at 21:17, Jonathan Leffler wrote:

SELECT UNIQUE
       EXTRACT(HOUR  FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS
"ts_hour",
       EXTRACT(DAY   FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS
"ts_day",
       EXTRACT(MONTH FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS
"ts_month",
       EXTRACT(YEAR  FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS
"ts_year"
       FROM SomeTable;

From PostgreSQL 8.3:

try=# SELECT
try-# EXTRACT(HOUR FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS ts_hour, try-# EXTRACT(DAY FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS ts_day, try-# EXTRACT(MONTH FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS ts_month, try-# EXTRACT(YEAR FROM TIMESTAMP '1999-12-31 23:59:59-08:00') AS ts_year;
 ts_hour | ts_day | ts_month | ts_year
---------+--------+----------+---------
      23 |     31 |       12 |    1999
(1 row)

Adding the time zone support:

try=# SELECT
try-# EXTRACT(HOUR FROM TIMESTAMPTZ '1999-12-31 23:59:59-08:00') AS ts_hour, try-# EXTRACT(DAY FROM TIMESTAMPTZ '1999-12-31 23:59:59-08:00') AS ts_day, try-# EXTRACT(MONTH FROM TIMESTAMPTZ '1999-12-31 23:59:59-08:00') AS ts_month, try-# EXTRACT(YEAR FROM TIMESTAMPTZ '1999-12-31 23:59:59-08:00') AS ts_year;
 ts_hour | ts_day | ts_month | ts_year
---------+--------+----------+---------
       7 |      1 |        1 |    2000
(1 row)

HTH,

David

Reply via email to