在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時間 Objective C時間戳轉換的轉換和時間
什麼是時間戳?時間戳 timestamp 一般是乙個字串行。唯一地標識某一刻的時間。數字時間戳 技術是數字簽名 技術一種變種的應用。思考 簡單來講就是依據檔案hash加密後生成的摘要和時間生成的時間憑證,它的數值是從 1970年1 月1日8 點到如今時間的總的毫秒數 在objective c 中怎樣...
Java過載時的型別轉換
class adder public double addthem double x,double y public double addthem int x,double y public class test 前面三個毫無疑問,第四個呼叫會進入那個方法呢?因為第四個沒都有對應的方法,那麼它會進行...
LocalDateTime的轉換和計算時間的差
localdatetime now localdatetime.now system.out.println 計算兩個時間的差 localdatetime end localdatetime.now duration duration duration.between now,end long da...