如果我在数据库的名为creation_date的表中有一列包含UNIX时间戳值的列,如何获得仅在例如May 10th 2013June 9th 2013之间创建的返回结果?

我尝试了下面的方法,但返回的只是0;这是不正确的。

SELECT COUNT(*) FROM my_table WHERE FROM_UNIXTIME(creation_date) BETWEEN '05-10-2013 00:00:00' AND '06-09-2013 23:59:59';

最佳答案

1)如果creation_date是存储为TIMESTAMP的时间戳记:


SELECT
  COUNT(*)
FROM
  my_table
WHERE
  creation_date
      BETWEEN '2013-05-10 00:00:00'
      AND '2013-06-09 23:59:59';



2)如果creation_date是存储为INT的时间戳记:


SELECT
  COUNT(*)
FROM
  my_table
WHERE
  creation_date
      BETWEEN UNIX_TIMESTAMP('2013-05-10 00:00:00')
      AND UNIX_TIMESTAMP('2013-06-09 23:59:59');

关于mysql - 通过Unix时间戳获取一个日期和另一个日期之间的条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17107643/

10-14 13:10
查看更多