2016-11-15 61 views
2

我有一個unix時間戳,它在插入到sql server數據庫之前使用HIVE中的視圖進行轉換。我遇到的問題是我需要正確的格式將其插入到sql server中的datetimeoffset(2)字段中。下面是從蜂巢的例子:帶時區的HIVE日期時間格式

查詢: 選擇FROM_UNIXTIME(1413587962, 'YYYY.MM.DD HH:MM:SS Z');

結果:2014年10月17日11點19分22秒UTC

SQL服務器不能爲該格式隱式轉換。如果我跑這是SQL服務器:

查詢:SELECT CONVERT(DATETIMEOFFSET(2), '2014年10月17日11時19分22秒UTC')

結果:消息241,級別16,狀態1 ,第1行 從字符串轉換日期和/或時間時轉換失敗。

如果我將UTC更改爲+00:00,SQL服務器轉換爲DATETIMEOFFSET(2)就好了。

我需要在HIVE中使用什麼格式來顯示偏移中的小時和分鐘而不是文本時區?我累了[+ | - ] hh:mm,hh:mm和z。

回答

1

可能是這是否有助於以來,在市委ž 選擇FROM_UNIXTIME(1413587962, 'YYYY.MM.DD HH:MM:SS Z') 二○一四年十月一十七日十一時19分22秒+0000

If that does not work direct +00:00 works? 
select from_unixtime(1413587962, 'yyyy.MM.dd hh:mm:ss +00:00') 
+0

那讓我更接近,SQL服務器仍然無法隱式轉換+0000。它需要有+00:00。謝謝。 – carbon

+0

剛剛看到您的編輯。這就是我最終做的。謝謝! – carbon