2017-03-09 16 views
1

Oracleデータベースには、UTCの日付をCSTに変換するために使用される日付オフセット列が格納されています。次に、SELECTを実行すると、次のようになります。ハイブ - UTCからCSRTへの日付の手動変換

 
    select ConnectedDatetimeUTC, 
CAST(connecteddatetimeutc + (startdtoffset/ (24 * 60 * 60)) as timestamp(3)) as connecteddattimeManual2 
from table1 

これをHIVE SQLで実装するのは苦労しています。

+0

必要な結果 –

答えて

0
with table1 as 
     (
      select timestamp '2017-02-28 23:58:41' as connecteddatetimeutc 
        ,1234       as startdtoffset 
     ) 

select ConnectedDatetimeUTC 
     ,startdtoffset 
     ,from_unixtime (unix_timestamp(connecteddatetimeutc) + startdtoffset) as connecteddattimeManual2 

from table1 
; 

+----------------------+---------------+-------------------------+ 
| connecteddatetimeutc | startdtoffset | connecteddattimemanual2 | 
+----------------------+---------------+-------------------------+ 
| 2017-02-28 23:58:41 |   1234 | 2017-03-01 00:19:15  | 
+----------------------+---------------+-------------------------+ 
+0

ロジャーその先生など、小さなデータサンプルを追加してください!私が必要とした唯一の調整は、DECIMALとして定義されていたため、CASTからINTへのオフセットでした。 – JB11

+0

素晴らしい:-)。答えを受け入れることを忘れないでください –

関連する問題