一年分为12个月。我们可以在四个星期内分解一个月。
在 MySQL 中,如何返回一个月的星期几?(例:第一周:2个条目,第二周:5个条目,第三周:3个条目;第四周:8个条目)
使用 Week 和 WeekOfYear 不会获得所需的结果,因为这些函数返回的是周数 YEAR,而不是月份。
一年分为12个月。我们可以在四个星期内分解一个月。
在 MySQL 中,如何返回一个月的星期几?(例:第一周:2个条目,第二周:5个条目,第三周:3个条目;第四周:8个条目)
使用 Week 和 WeekOfYear 不会获得所需的结果,因为这些函数返回的是周数 YEAR,而不是月份。
使用 MySQL 内置函数 week 查找一年的周数,然后减去该月第一天的周数。
SELECT WEEK('2012-02-20') - WEEK('2012-02-01')
文档中有很多选项可以自定义调用以完全适合您正在寻找的内容,但我希望我的示例能让您了解可用的内容。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week
FLOOR((DayOfMonth(dateCol)-1)/7)+1
我想明确表示,这可能不是划分数据的好方法 - (请参阅评论),但这会让你尽可能接近。
一个月中的一周(将开始的不完整周计为一个整体)
select ceiling((day(now()) -
(6 - weekday(date_format(now(),'%Y-%m-01'))))/7)
+ case when 6 - weekday(date_format(now(),'%Y-%m-01'))> 0
then 1 else 0 end week_of_month;
SELECT WEEK(my_date_field,5) - WEEK(DATE_SUB(my_date_field,
INTERVAL DAYOFMONTH(my_date_field) - 1 DAY),5) + 1
或者你可以在这里看到。
TO_CHAR(my_date, 'W')
返回特定月份的确切周数。
SELECT (WEEK('2020-09-27') - WEEK(DATE_FORMAT('2020-09-27','%Y-%m-01')))+1