我想要id的日期加入是星期六到星期五晚上。
SELECT id
FROM signup
WHERE yearweek(DATE(datejoin), 6) = yearweek(curdate(), 6)
答案 0 :(得分:1)
你可以使用WeekDay
函数,这个函数返回一周中每周的整数值,从星期一的0到星期日的6,如果你从当前日期减去WeekDay,你会得到上周一的日期,如果你想要下一个星期五的日期,你可以通过这样的查询得到它:
CURDATE() - INTERVAL WEEKDAY(CURDATE()) - 4 DAY
在你的查询中你想从星期六到星期五开始你的一周,所以你的查询结果取决于当前的星期几,如果当前星期几是星期五(从0到4),你应该得到日期下个星期五但如果当周的某一天是在星期五(5或6)之后你应该得到下周五的星期五!你周末(星期六)也有这种情况
看看这个查询,我希望你能够清楚地知道:
SELECT id FROM signup WHERE
datejoin BETWEEN
(CASE
WHEN WEEKDAY(CURDATE()) > 4 THEN
(CURDATE() - INTERVAL WEEKDAY(CURDATE()) - 5 DAY)
ELSE
(CURDATE() - INTERVAL WEEKDAY(CURDATE()) + 2 DAY)
END)
AND
(CASE
WHEN WEEKDAY(CURDATE()) > 4 THEN
(CURDATE() - INTERVAL WEEKDAY(CURDATE()) - 11 DAY)
ELSE
(CURDATE() - INTERVAL WEEKDAY(CURDATE()) - 4 DAY)
END)
答案 1 :(得分:0)
答案:
来自注册的SELECT id,其中datejoin介于(CURRENT_DATE - INTERVAL 7 DAY)和CURRENT_DATE之间