我想将格式为dd/mm/yyyy
的字符串更改为hive中的日期类型。
我正在使用hive版本1.0.0。我尝试过使用:
TO_DATE(from_unixtime(UNIX_TIMESTAMP('07/03/2013', 'dd/mm/yyyy')))
但它会返回NULL
。虽然它适用于格式'dd-mm-yyyy'
。但它返回NULL 'dd/mm/yyyy'
。
我也试过使用CAST
,但它也没有给我正确的结果。
答案 0 :(得分:6)
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
答案 1 :(得分:0)
我会尝试两种选择:
TO_DATE(from_unixtime(UNIX_TIMESTAMP(替换('07 / 03/2013','/',' - '),'dd-MM-yyyy')))