我正在尝试根据weekstu表中的周数来选择当前日期。
所以我们假设我们在1
周开始Monday
25/11/2013
。我试图根据使用今天的日期,即2013年11月28日获得该日期。第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
答案 0 :(得分:2)
您可以确定一周的开头,如:
select adddate(curdate(), interval 1 - dayofweek(curdate()) day)
请注意以下条件:
startdate = CURRENT_TIMESTAMP
仅匹配具有精确当前时间戳的行达到毫秒。与curdate()
不同,current_timestamp
包含时间信息和日期信息。
答案 1 :(得分:0)
DATE_FORMAT(date,format)
%b
缩写的月份名称(Jan..Dec)
%W
工作日名称(星期日......星期六)
DATE_FORMAT(NOW(),'%W')
参考:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html