zoukankan      html  css  js  c++  java
  • 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时间

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    007_2 (变式)青蛙跳台阶
    008 二进制中1的个数
    009 数值的整数次方
    007_1 斐波那契数列的非递归解法
    Linux TTY函数跟踪
    Linux UART介绍
    Linux TTY介绍
    Linux音频编程
    Jasper语音助理
    Raspberry Pi使用
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4662608.html
Copyright © 2011-2022 走看看