2017-03-25 19 views
3

ハイブで日付の型に変換するdd/mm/yyyyの文字列を変更したい。ハイブで日付を文字列から日付に変更する

私はハイブバージョン1.0.0を使用しています。私は使用しようとしました:

TO_DATE(from_unixtime(UNIX_TIMESTAMP('07/03/2013', 'dd/mm/yyyy'))) 

しかし、それはNULLを返します。フォーマットは'dd-mm-yyyy'で動作しますが。しかし、'dd/mm/yyyy'でNULLを返します。

私もCASTを使用しようとしましたが、正しい結果が得られません。

答えて

4
M - month 
m - minutes 

hive> select TO_DATE(from_unixtime(UNIX_TIMESTAMP('07/03/2013', 'dd/MM/yyyy'))) ; 
OK 
2013-03-07 

又は

hive> select TO_DATE(from_unixtime(UNIX_TIMESTAMP('07/03/2013', 'd/M/y'))) ; 
OK 
2013-03-07 

又は

hive> select cast (regexp_replace('07/03/2013','(..)/(..)/(....)','$3-$2-$1') as date); 
OK 
2013-03-07 
0

私は2つのオプションをしようとするだろう:シンプル置き換える作品ならば

  1. チェック:

TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP('07/03/2013' (置き換えます、 '/'、 ' - ')、 'DD-MM-YYYY')))

  • 任意の関数は、あなたのために働くかどうかをチェックするためにdate documentationを見てみましょう
  • 関連する問題