从本周的数据库中选择数据,除了今天

时间:2018-02-22 15:52:05

标签: mysql

我需要一些简单查询的帮助。我想从本周日期的表中选择数据,但我不想要今天的日期记录。所以,如果今天是星期一,那么我只想要周二到周五的数据。

这是我最好的尝试。

SELECT * 
FROM data 
WHERE date > DATE_SUB(NOW(), INTERVAL 1 WEEK)

我该如何改进?

3 个答案:

答案 0 :(得分:1)

您可以使用betweensubdate

SELECT * FROM `data` WHERE `date`
BETWEEN SUBDATE(CURDATE(), 7) AND SUBDATE(CURDATE(), 1);

答案 1 :(得分:0)

您想使用CURDATE()

  

CURDATE()函数返回当前日期。

     

注意:此函数将当前日期作为“YYYY-MM-DD”格式返回   如果在字符串上下文中使用,如果在a中使用则为YYYYMMDD格式   数字上下文。

和DATE()

  

DATE()函数从日期或日期时间中提取日期值   表达

SELECT * FROM data WHERE date > DATE_SUB(NOW(), INTERVAL 1 WEEK) AND DATE(date) < CURDATE();

这将有效地将您的数据转换为YYYY-MM-DD,并与今天的YYYY-MM-DD进行比较

答案 2 :(得分:0)

你可以在这里使用,也可以从今天开始使用。

SELECT * FROM data WHERE date BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND DATE_SUB(CURDATE(), INTERVAL 1 DAY)

请注意,我使用CURDATE()代替NOW(),因为curdate只包含没有时间的日期。