今天的mySQL行不是24小时

时间:2014-04-04 16:21:28

标签: mysql sql date

基本上,我有一个类似于以下内容的查询

SELECT 
    * 
FROM 
    `transactions` 
WHERE 
    `date` > DATE_SUB(NOW(), INTERVAL 1 DAY) 
AND 
    `status` = '1'

我怎么能这样做,所以我可以从今天开始,而不是过去24小时;相同的一周&一个月等。?

2 个答案:

答案 0 :(得分:3)

使用DATE()获取日期列的日期,并使用CURDATE()

将其与今天的日期进行比较
WHERE 
    DATE(`date`) = CURDATE()

答案 1 :(得分:2)

使用

SELECT * 
FROM `transactions` 
WHERE `date` >= curdate() AND `date` < curdate() + interval 1 day
AND `status` = '1'

可以使用索引来加速查询