Mysql选择特定的datetime范围

时间:2012-02-28 03:38:53

标签: php mysql

如何选择" buydate"的所有行?在使用php的mysql中的日期范围(从昨天的14:00 PM到今天的上午10:00)?感谢

Table log: id(int), users(varchar), buydate (datetime)

3 个答案:

答案 0 :(得分:3)

尝试以下

select * from log where buydate BETWEEN '2012-02-27 14:00' AND '2012-02-28 10:00'

由于我现在没有MYSQL,我将无法检查......

更新1

您现在不需要添加日期......它会起作用

SELECT * from log 
WHERE buydate BETWEEN date_add(date_sub(curdate(), interval 1 day), interval 14 hour) and date_add(curdate(), interval 10 hour)

答案 1 :(得分:2)

试试这个:

select * from log
where buydate between 
  date_add(date_sub(curdate(), interval 1 day), interval 14 hour) and
  date_add(curdate(), interval 10 hour)

答案 2 :(得分:1)

您只需将其添加到WHERE条件:

SELECT *
FROM mytable
WHERE buydate BETWEEN '2012-02-27 14:00' AND '2012-02-28 10:00'

字符串会自动强制转换为日期时间进行比较。

您可以使用MySQL Date and Time Functions进行更复杂的日期计算。