MySQL查询日期在本周的行

时间:2014-01-24 18:35:20

标签: mysql sql database select

我正在尝试查询本周已完成某个事件的所有行,周数从周日开始。我已经尝试过这个查询,但它似乎没有用(我已经尝试了CURDATE()和NOW(),不确定是否重要),我没有返回任何行:

SELECT `TodoCompleted`.`day`, `TodoCompleted`.`date` FROM `todo_completed` AS
`TodoCompleted` WHERE `TodoCompleted`.`employee_id` = 'whatever' AND 
`TodoCompleted`.`completed` = 0 AND WEEK(`TodoCompleted`.`date`) = 'WEEK(NOW())'

我也尝试了这个,但它不是我正在寻找的,因为它从前一周拉取记录:

AND `TodoCompleted`.`date` BETWEEN CURDATE()-INTERVAL 1 WEEK AND CURDATE()

我不能在一周的间隔内完成所有这些工作,我只需要在本周(周日至周六)。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

使用YEARWEEK()

AND YEARWEEK(`TodoCompleted`.`date`) = YEARWEEK(CURDATE())

并删除它周围的引号。