2013-11-28 102 views
0

我想根據weekstu表中的星期數來選擇當前日期。如何根據今天的日期獲取星期數

所以讓我們說我們在本週1開始Monday25/11/2013。我試圖根據使用今天是28/11/2013的日期得到該日期。周2將是週一的2/12/2013。我在下面的查詢不會返回任何記錄。根據今天的日期,這有可能得到一週的開始嗎?

table:weekstu 
weekid 
startdate 
setid 
weeknumber 
startdate 

Table:week 
weekid 
setid 


    SELECT * from weekstu ws 
    JOIN week w ON ws.setid = w.setid AND ws.weekid ON w.weekid 
    WHERE ws.weeknumber = `1` AND startdate = CURRENT_TIMESTAMP 

回答

2

您可以確定一週喜歡的開頭:

select adddate(curdate(), interval 1 - dayofweek(curdate()) day) 

注意的條件,如:

startdate = CURRENT_TIMESTAMP 

將只匹配有確切的當前時間戳到行毫秒。與curdate()不同,current_timestamp包含時間信息以及日期信息。

0

DATE_FORMAT(date,format)

%b縮寫的月份名稱(Jan..Dec)

%W平日名(Sunday..Saturday)

DATE_FORMAT(NOW(),'%W') 

REF:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

+0

...你的榜樣只包括當天的名字,這不太可能是唯一的。那麼,這將是_today_(無論發生什麼),所以它只會匹配1/7的時間。你真的建議他把日期格式化爲一個字符串嗎? –

相關問題