首页 > 代码库 > Vertica转换Local时间到GMT时间
Vertica转换Local时间到GMT时间
在Vertica的数据库的使用过程中碰到这么一种场景,程序从不同时区的集群中收集数据写入同一张表,然后我们需要把这些数据按照GMT时间来显示。此时我们可以通过Vertica提供TIME ZONE转换功能来达到这个效果。
首先看一下Vertica默认的TimeZone
SHOW TIMEZONE;这里假定Vertica的默认TimeZone是“Asia/Shanghai”
SET TIMEZONE TO ‘Asia/Shanghai‘;假定有一张表,TS列存储时间戳,TZ列存储所在时区,如下
CREATE TABLE T (TS TIMESTAMP, TZ VARCHAR(32));然后造两条数据分别使用America/New_York和Asia/Shanghai时区
INSERT INTO T VALUES(TIMESTAMP‘2014-11-11 00:00:00‘, ‘America/New_York‘); INSERT INTO T VALUES(TIMESTAMP‘2014-11-11 00:00:00‘, ‘Asia/Shanghai‘);此时可以通过下面的SQL来把各个Local时区的时间转换到GMT时区
SELECT (TS || ‘ ‘ || TZ)::TIMESTAMP AS ‘LOCAL TIME‘, (TS || ‘ ‘ || TZ)::TIMESTAMP WITH TIME ZONE AT TIME ZONE ‘GMT‘ AS ‘GMT TIME‘ FROM T; LOCAL TIME | GMT TIME ---------------------+--------------------- 2014-11-11 13:00:00 | 2014-11-11 05:00:00 2014-11-11 00:00:00 | 2014-11-10 16:00:00
原文链接:Vertica转换Local时间到GMT时间
Vertica转换Local时间到GMT时间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。