0
我想更改我的表格行2011-06-30 05:59:59 + 00格式进入2011-06-30 05:59:59 CDT格式如何在Postgres中更改表格以显示带时区缩写的时间戳(2004-10-19 10:23:54 EST)
我想更改我的表格行2011-06-30 05:59:59 + 00格式进入2011-06-30 05:59:59 CDT格式如何在Postgres中更改表格以显示带时区缩写的时间戳(2004-10-19 10:23:54 EST)
正如蒂姆告诉,postgres不存储TZ
信息。你不能这样改变列。除非你创建函数或视图或其他东西(无论如何不会改变表格)。你做什么,而不是你change timezone看你需要:
时区(串)
设置时区显示和解释 时间戳。如果未明确设置,则服务器将此变量初始化为其系统环境指定的时区。有关更多信息,请参阅 节8.5.3。
并使用formatting显示TZ
信息...喜欢这里:
b=# select now();
now
-----------------------------
2016-12-07 15:13:35.1369+00
(1 row)
b=# set timezone = EST;
SET
b=# select to_char(now(),'YYYY-MM-DD HH24:MI:SS TZ');
to_char
-------------------------
2016-12-07 10:13:55 EST
(1 row)
Postgres的时间戳实际上不存储时区信息。还要认识到,从GMT以小时为单位的偏移量不一定能够确定哪个时区是位于哪个位置。请参阅[这里](http://stackoverflow.com/questions/5876218/difference-between-timestamps-with-without-time-zone-in-postgresql)了解更多信息。 –