2012-09-09 32 views
4

我的问题是,我有一个名为'每周关闭设置'的表格,我在其中选择一两天作为每周关闭。如果我在周六关闭了每周一次,那么我想找出第一个周六的日期即将在选定的月份的第一周。所以任何人都可以告诉我这个问题的MySQL查询。mysql:如何获取选定日期的下一个日期?

在此先感谢。

+0

你能澄清?这与MYSQL有什么关系。是否有一张表中包含您正在尝试选择的值 - “每周关闭”如何适合该表,以及您希望输出的结果是什么? – FilmJ

+0

查看一些示例[here](http://www.gizmola.com/blog/archives/99-Finding-Next-Monday-using-MySQL-Dates.html) – hjpotter92

+0

在您的语言中使用它会更好其中有形式。你真的有形式在MySQL? – Sami

回答

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; 
相关问题