2012-09-09 73 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; 
相關問題