【发布时间】:2015-06-27 03:37:36
【问题描述】:
我正在尝试组合日期、时间和时区,然后将其转换为 UTC 时区。
在下面的查询中,使用存储时区的数据库字段创建了一个错误 --- 即 t.timezone
t.timezone 的值为 Asia/Tokyo 。所有其他时区都采用类似的格式。
select (select CONCAT( DATE(m.last_mailing at time zone 'utc' + INTERVAL '1 day'), ' ', MAKE_TIME(m.email_delivery_hour::int, 0, 0))::timestamp with time zone t.timezone) at time zone 'utc' FROM acts2301_membership.member_subscriptions m INNER JOIN acts2301_email_queue.timezone t ON (m.timezone_reference = t.reference) WHERE m.subscription_reference = '514';
【问题讨论】:
-
您的服务器设置为哪个时区?
m.last_mailing存储在哪个时区?t.timezone指的是哪些具体数据?那是m.last_mailing的时区吗?请详细说明,因为这是给您正确答案所必需的。 -
m.last_mailing 是没有时区的时间戳
-
t.timezone 的值格式为 America/Barbados
-
请参阅
pg_timezone_names了解可识别的时区字符串。
标签: postgresql timezone