2016-08-09 2 views
0

업데이트 된 타임 스탬프를 기반으로 데이터를 필터링 할 테이블이 있습니다. "updated_timestamp"라는 타임 스탬프 열이있는 test_table 테이블이 있습니다. ~ 는
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하이브 타임 스탬프 비교 문제

를 반환
select max(ZIW_UPDATED_TIMESTAMP) from test_table;
그것은 반환 : 2016년 8월 9일 11 : 00 : 48.849 을하지만 실행할 때 나는 실행하는 경우 5000 행. 나는 여기서 무슨 일이 일어나고 있는지 확신하지 못한다.

답변

0

방금 ​​솔루션을 찾았습니다. from_unixtime (unix_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');
잘 작동합니다.