我正在使用以下查询将timestamptz
格式的列转换为timestamp
:
SELECT table.recording_datetime AT TIME ZONE 'America/New_York' FROM table;
除了所有不显示时间的午夜时间以外,所有值均按预期方式工作。例如,将值2018-12-13 00:00:00.0000000 -05:00
转换为2018-12-13
而不是2018-12-13 00:00:00
,就像在其他非午夜时间一样。还有任何线索可以在午夜获得小时,分钟和秒吗?
答案 0 :(得分:0)
如果要保持一致的显示,则需要字符串数据类型而不是时间戳数据类型。为此,您可以使用文档中所述的to_char
方法。 https://www.postgresql.org/docs/9.1/functions-formatting.html
相反,您的数据库客户端中可能有一个关于时间戳显示方式的选项。
类似:
SELECT to_char( table.recording_datetime AT TIME ZONE 'America/New_York' , 'YYYY-MM-DD HH24:MI:SS') FROM table;
这也使您可以决定是否包含毫秒,微秒等。