从MySQL表中获取两天的数据

时间:2012-08-23 06:58:26

标签: mysql date

我在数据库中有unix timestamp字段。

check_in_mktime
-------------
1345639136
1345639146
1345639176

如何使用时间戳获取两天的数据(包括今天和昨天)。

4 个答案:

答案 0 :(得分:2)

尝试此查询 -

(编辑)的

SELECT * FROM table1
WHERE
  check_in_mktime >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY) AND
  check_in_mktime < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY);

答案 1 :(得分:1)

你可以这样做:

 SELECT * 
 FROM your_table 
  WHERE Date(FROM_UNIXTIME(check_in_mktime)) between date(now() + interval 1 day) and date(now() - interval 1 day)

答案 2 :(得分:1)

您需要使用以下内容:

  • NOW() =&gt;当前日期和时间
  • FROM_UNIXTIME() =&gt;将时间戳转换为日期
  • DATE() =&gt;从datetime数据类型获取日期
  • DATE_SUB() =&gt;减去日期

尝试,

  SELECT * 
  FROM  your_table 
  WHERE DATE(FROM_UNIXTIME(check_in_mktime`))     -- converts timestamp to date
                   between DATE(NOW) and                    -- today
                           DATE_SUB(NOW(),INTERVAL 1 DAY)   -- yesterday

答案 3 :(得分:0)

如果将来没有签到,那么

SELECT * FROM table_name 
WHERE check_in_mktime >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY)