【发布时间】:2018-10-21 21:33:42
【问题描述】:
我有一张桌子:
- 来源日期列
- 源时间戳(30 分钟间隔,字符串)
- 日期时间 UTC timestamptz 列
-
“报告”时区(时区最终应如何显示)
date interval datetime_utc time_zone2018-05-11 22:30 2018-05-10 03:30:00 美国/纽约
有没有一种有效的方法可以将 datetime_utc 列转换为查询或视图中同一行中指示的时区?我可以使用 Python 做到这一点,但我想知道如何直接在我的查询中做到这一点。
这似乎可行 - 我可以引用列名,它会根据在该行中找到的值准确地转换它。
(interval_timestamp_utc :: TIMESTAMPTZ AT TIME ZONE time_zone) :: DATE AS "Reporting Date",
to_char((interval_timestamp_utc :: TIMESTAMPTZ AT TIME ZONE time_zone), 'HH24:MI') AS "Reporting Interval",
【问题讨论】:
-
select '2018-05-10 03:30:00'::timestamp at time zone 'America/New_York';?另请查看pg_catalog.pg_timezone_abbrevs和pg_catalog.pg_timezone_names表。 -
每一行都有不同的时区 - 我没有选择特定的行。我正在查询一个包含大约 1 到 200 万行的完整日历日,并且我正在将源时区转换为用于可视化的“显示”时区。
标签: postgresql datetime timezone