2016-03-07 123 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()函數。除非您需要將其與其他時間變量/常量進行比較,否則無處不在。