我正在尝试查询本周(星期几从周开始)已经完成活动的所有行。我已经尝试过该查询,但是它似乎不起作用(我已经尝试过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()


我不能只在一周的间隔内就把它们全部拿走,我只需要这周(星期日至星期六)。

任何帮助将非常感激!

最佳答案

使用YEARWEEK()

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


并删除其周围的引号。

07-26 03:24