4

我的问题是,我有一个名为“每周休息设置”的表格,我在其中选择一两天作为每周休息。如果我在星期六每周休息,那么我想找出即将到来的第一个星期六日期在所选月份的第一周。所以谁能告诉我这个问题的 mysql 查询。

提前致谢。

4

1 回答 1

4

你的陈述有点不清楚,但你想找到下周六?

select date_add(now(), interval 7-dayofweek(now()) day);

如果您在星期六,不幸的是今天会返回,因此顺序变为:

SET @OFFSET = 7-dayofweek(now());
SET @OFFSET = IF(@OFFSET = 0, 7, @OFFSET);
select date_add(now(), interval @OFFSET day);

可以合并为一个:

select date_add(now(), interval IF(7-dayofweek(now()) = 0, 7, 7-dayofweek(now())) day) as next;
于 2012-09-11T17:17:10.770 回答