MySQL选择当月内的周数

时间:2015-02-09 20:20:23

标签: mysql

我有一张活动表,其中一些活动在一个月内的特定周内重复出现(例如,每个月的第一个星期三)。

如何选择以下内容?

event  day         week
quiz   wednesday   1

伪代码将是:

SELECT * FROM table WHERE week = weeknumberWithinCurrentMonth()

由于我们现在处于2月的第三周,因此将从上面的伪查询中获取0行。如果我们在2月的第1周,它会选择示例行。

2 个答案:

答案 0 :(得分:3)

SELECT * FROM table WHERE week = FLOOR((DayOfMonth(NOW()) - 1)/ 7)+1

尽可能接近。

答案 1 :(得分:1)

这可能是您正在寻找的:

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

SELECT WEEK(CURDATE()) - WEEK(DATE_FORMAT(NOW() , '%Y-%m-01')) + 1