2016-08-09 112 views
0

我有一張表,我想根據更新的時間戳過濾出數據。 我有一個表test_table它有一個名爲「updated_timestamp」的時間戳列。 當我運行:
select max(ZIW_UPDATED_TIMESTAMP) from test_table;
它返回:2016年8月9日11:00:48.849 但是當我運行:
select count(*) from test_table where UPDATED_TIMESTAMP = from_unixtime(unix_timestamp('2016-08-09 11:00:48.849' , 'yyyy-MM-dd HH:mm:ss.SSS'));
返回0Hive時間戳比較問題

這個確切的時間戳是正在使用〜 5000行。我不確定這裏發生了什麼。

回答

0

剛剛想出了一個解決方案: 而不是使用from_unixtime(unix_timestamp('2016-08-09 11:00:48.849','yyyy-MM-dd HH:mm:ss.SSS')); 我將時間戳列轉換爲unix時間戳列。
select count(*) from test_table where unix_timestamp(UPDATED_TIMESTAMP,'yyyy-MM-dd HH:mm:ss.SSS') = unix_timestamp('2016-08-09 11:00:48.849' , 'yyyy-MM-dd HH:mm:ss.SSS');
這工作正常。