2016-03-07 131 views
0

我没有得到预期的结果从蜂房蜂巢UNIX时间戳

UNIX_TIMESTAMP例如:

select FROM_UNIXTIME(UNIX_TIMESTAMP('2015/02/01', 'YYYY/MM/DD')) from table limit 1; 

OUTPUT:

2014-12-28 00:00:00 
Time taken: 0.287 seconds, Fetched: 1 row(s) 

我希望它返回2015-02 -01,但它导致了别的东西。我理解它可能是因为时代的缘故?

+0

这已经在回答http://stackoverflow.com/questions/28884963/hive-unix-timestamp-quandary?rq=1 – user3279189

回答

1

您的日期格式为全部大写。试试这个用小写:

select from_unixtime(unix_timestamp('12/02/01','yyyy/MM/dd') from table; 

结果: 2015年2月1日00:00:00

您也可以使用脱光时间:

to_date(from_unixtime(unix_timestamp('12/02/01','yyyy/MM/dd')) 

结果: 2015-02-01

-1
select FROM_UNIXTIME(UNIX_TIMESTAMP('2015/02/01')) 

使用此查询得到ANS为2015-02-01 00:00:00

感谢。

+0

它返回NULL – user3279189

+0

你可以试试这个'select FROM_UNIXTIME(UNIX_TIMESTAMP('2015/02/01 00:00:00')) – dinesh

0

你也可以使用substr()函数。除非您需要将其与其他时间变量/常量进行比较,否则无处不在。