hive时间戳比较问题

mklgxw1f  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(345)

我有一个表,我想根据更新的时间戳过滤掉数据。我有一张table test_table 它有一个名为“updated\u timestamp”的timestamp列。当我跑步时: select max(ZIW_UPDATED_TIMESTAMP) from test_table; 返回时间:2016-08-09 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')); 它返回0。
这个精确的时间戳被用在大约5000行中。我不知道这里发生了什么。

hiz5n14c

hiz5n14c1#

刚想出一个解决方案:不用from unixtime(unix\u timestamp('2016-08-09 11:00:48.849','yyyy-mm-dd hh:mm:ss.sss'));我将timestamp列转换为unix timestamp列。 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'); 这个很好用。

相关问题