我有一个表格,其中包含带时区的日期和时间。
date_time_table
+------------+--------------+
| date_t | time_tz |
+------------+--------------+
| 2016-05-13 | 23:00:00 -02 |
| 2016-05-14 | 13:00:00 +06 |
+------------+--------------+
之后我运行 SQL 查询“UTC”时间
SELECT timetz AT TIME ZONE 'UTC' FROM date_time_tz
结果是:
+--------------+
| time_tz |
+--------------+
| 01:00:00 +00 |
| 07:00:00 +00 |
+--------------+
我也可以编写 SQL 结合 date_t 和 time_tz 来计算日期吗?
我期望的结果是:
+------------+------------+
| date_time_tz |
+------------+------------+
| 2016-05-14 01:00:00 +00 |
| 2016-05-14 07:00:00 +00 |
+------------+------------+
我尝试:
SELECT concat(date_t , ' ' ,time_tz) AT TIME ZONE 'UTC' FROM date_time_table
但它不起作用。
最佳答案
如果列是date
和time
类型:
select (current_date + current_time) at time zone 'UTC';
timezone
----------------------------
2016-07-12 12:06:00.239396
如果这些列是文本:
select ('2016-01-01'::date + '23:00:00 -02'::timetz) at time zone 'UTC';
timezone
---------------------
2016-01-02 01:00:00
关于sql - 从 UTC 日期和时间获取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38327963/