我有一个在oracle中运行良好的查询,但是我想在hive中使用相同的查询。
查询:
select count(mem_id)
from mem
where cobrand_id = '10001372'
and user_type_id =1
and status_ind <>3
and LAST_ACCESSED >= to_epoch(sysdate-90);
另外,我在double中有last\u accessed coulmn。last\u accessed的示例值为: 1.554386487E9
,不确定这是什么值,我猜可能是秒。
尝试:
UNIX_TIMESTAMP( string date, string pattern )
FROM_UNIXTIME( bigint number_of_seconds [, string format] )
运气不好。有人能帮我吗。提前谢谢。
1条答案
按热度按时间2lpgd9681#
似乎1.554386487e9是以double存储的unix epoch时间,以工程符号显示,并且可以转换为bigint。
检查您的示例:
这个时间戳好看吗?
如果是,则使用
unix_timestamp(concat(date_sub(current_date,90),' 00:00:00'))
获取当前日期的纪元时间-90天。您的查询已修复: