2012-10-29 120 views
3

我拥有表格用户。两个unix时间戳之间的选择日期

列:

  • USER_ID - 整数
  • user_date - 整数(UNIX时间戳)

一些行有user_date,部分NULL。

我需要找到所有USER_ID的这user_date包括“2012年10月21日”之间的周期,“2012年10月24日”

回答

4
SELECT * 
FROM users 
WHERE user_date BETWEEN 
    EXTRACT(EPOCH FROM date '2012-10-21') AND 
    EXTRACT(EPOCH FROM date '2012-10-24' + interval '1 day'); 

如果你不想结束日期将其包括在内,删除该位添加一天。

0
select * 
from users 
where 
    timestamp 'epoch' + user_date * interval '1 second' between '2012-10-21' and '2012-10-24' 
    and 
    user_date is not null 
+2

请小心这些隐式日期转换! –

+2

好像你想将这两个参数转换为整数,所以你可以在'user_date'上使用索引,对吗? –

相关问题