看一下文档: https://www.postgresql.org/docs/9.3/static/datatype-datetime.html
表8-9显示timestamp [ (p) ] with time zone
,但是方括号和普通括号让我失望,没有示例说明如何实现它。
e.g。如果我有以下内容,我如何使some_time
列保持PST时间戳而不是UTC?
CREATE TABLE "mytable" (
id SERIAL PRIMARY KEY,
some_time TIMESTAMP
);
答案 0 :(得分:1)
您无法声明具有指定时区类型的时区的列。 文档中的 p 表示精确度:
时间,时间戳和间隔接受可选的精度值p
关于 p 的值:
对于时间类型,当使用八字节整数存储时,p的允许范围是0到6,或者当使用浮点存储时,p的允许范围是0到10.
我认为您要使用timestamp without time zone
列,然后使用AT TIME ZONE
将其转换为所需的时区:
SELECT some_time AT TIME ZONE 'PST', some_time AT TIME ZONE 'UTC+2' FROM mytable;