2017-03-08 9 views
0

ハイブの時関数はNULLを返します。以下の文字列と値がCOL_NAMEため ハイブ時間()関数はNULLを返します。

hivetableデータ型からHH私のクエリ

選択時間(COL_NAME)形式にされている:MM:SS

+2

NULLを返す1つの値の例を挙げてください。この値の16進数(col_name)の結果 –

+0

16進数の値は30333A30343A3531ですが、col_nameの値は "03:04:51" – Vish

+0

これは意味がありません。再現可能なユースケース:create table + insert + select。 –

答えて

0
私はあなたがCOL_NAME形式が正しいことを確認することを示唆している

、文字列の時刻に '時'関数を使用すると、タイムスタンプ形式または 'HH:mm:ss'のいずれかを使用する必要があります。例:時間( 'HH:MM:SS')

hive > select hour('12:58:59') as hour; 
OK 
hour 
12 
Time taken: 0.061 seconds, Fetched: 1 row(s) 
+0

はいフォーマットが正しいです現在使用している値は "03:04:51"です – Vish

0

問題は( 選択時間を使用して解決することができFROM_UNIXTIME(UNIX_TIMESTAMP(COL_NAME、 'HH:MM:SS'。))hivetableから

しかし、入力値が文字列で、正しいフォーマットが "HH:mm:ss"のときにこれを行う必要があるのはわかりません。

関連する問題