Converting UTC time field from a POSTGRE/SQL database in SQL
我的数据库出了问题。
我从未习惯在PostgreSQL中工作,我想从UTC日期时间字段中选择并获得GMT日期时间作为结果。
其实我的要求是:从位置选择dateheure
什么应该是Postgresql请求做我想做的事情???
非常感谢
Gwenael
PostgreSQL确实有两种日期时间类型:
-
timestamp without time zone (默认隐式timestamp ) -
timestamp with time zone
我猜你有UTC日期时间表(没有时区类型):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | CREATE TEMP TABLE datetimetest ( datetime TIMESTAMP ); \d datetimetest TABLE"pg_temp_1.datetimetest" COLUMN | TYPE | Modifiers ----------+-----------------------------+----------- datetime | TIMESTAMP WITHOUT TIME zone | INSERT INTO datetimetest SELECT CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; SELECT datetime FROM datetimetest; datetime ---------------------------- 2011-08-15 15:04:06.507166 (1 ROW) |
要在某个时区获取日期时间,您可以使用
1 2 3 4 5 6 | SET TIME ZONE 'UTC'; SELECT datetime AT TIME ZONE 'GMT-5' FROM datetimetest; timezone ------------------------------- 2011-08-15 10:04:06.507166+00 (1 ROW) |
在另一篇文章中,我使用