2012-10-29 155 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'上使用索引,對嗎? –

相關問題