2012-11-21 31 views

回答

3
/* EST is GMT -5:00:00 - To convert add 5 Hours to each timestamp */ 

select timestamp '2012-11-21 18:50:00' + interval '5:00:00' hour to second; 

如何將此應用於您的數據部分取決於您所談論的數據量。將MERGE INTO SQL語句用於空表中然後重命名錶可能會更加容易。如果僅用於顯示目的,則只能使用視圖來完成轉換。

您是否需要考慮夏令時?那麼轉換可能會有點棘手。

+2

有趣。在谷歌搜索如何將東部時間轉換爲格林威治標準時考慮到夏令時,我遇到了我自己的問題! – oscilatingcretin

0

我做了一些小小的工作來彌補DST,但效果很好。我將UTC從UTC轉換爲Pacific,並在Teradata SQL Assist中工作。

select 
cast(a.strt_dt_tm as date) as BaseDt, 
case 
when BaseDt < '2018-03-11' then a.strt_dt_tm - interval '8:00:00' hour to second 
when BaseDt>= '2018-03-11' then a.strt_dt_tm - interval '7:00:00' hour to second 
end as Offsetz, 
cast(offsetz as date) as OffSt_Dt, 
from Time_Table 
相關問題