2017-07-12 14 views
0

ここに例のようなタイムスタンプ文字列があります: 2017-07-12T01:51:12.732-0600。これを使用してこれをUTCに正確に変換する関数/関数の組み合わせはありますか?Redshiftでこのタイムスタンプ形式をUTCに変換するにはどうすればよいですか?

出力は2017-07-12 07:51:12.732000である必要があります。私はto_timestampconvert_timezoneを使ってみました。明らかに、後者は失敗しましたが、前者は失敗してしまいました。助けて?

答えて

1

あなたは、タイムスタンプと、この(ノート、オフセット符号はタイムゾーンと逆である)のようなconvert_timezone機能で、ソースのタイムゾーンを設定するには、直接文字列を変換することができます-0600の部分はあなたができる変化した場合

select convert_timezone('UTC+06','utc','2017-07-12T01:51:12.732-0600'::timestamp)

構造体'UTC+06'はこのように動的に

with times as (
    select '2017-07-12T01:51:12.732-0600'::varchar(28) as ts_col 
) 
select convert_timezone('utc'+(substring(ts_col from 24 for 3)::integer*(-1))::varchar(3),'utc',ts_col::timestamp) 
from times 
+0

それは素晴らしいです!ありがとうございました! :) – CodingInCircles

関連する問題