我需要返回月份数字,从一周的第一天开始
我在mySQL中有一个函数,但有些结果不能很好地工作
CREATE FUNCTION `MonthOfWeek`( pyear YEAR, pweek SMALLINT, pday SMALLINT ) RETURNS smallint(6)
BEGIN
DECLARE vdate DATE;
DECLARE vday SMALLINT;
SET vdate = AddDate(Concat( pyear, '-01-01'), 7*pweek );
SET vday = DayOfWeek( vdate );
SET vdate = IF( vday = 1, vdate, AddDate( vdate, 1-vday ));
RETURN Month( vdate );
END$$
https://www.epochconverter.com/weeks/2021
日期4.4.2021 =2021年,第13周= 3月。
date 2.2.2021 = year 2021 week 5= month 2.函数返回1 :(
谢谢
发布于 2021-02-09 12:54:03
SELECT MONTH('2021-04-04' - INTERVAL WEEKDAY('2021-04-04') DAY) x;
+------+
| x |
+------+
| 3 |
+------+
SELECT MONTH('2021-02-02' - INTERVAL WEEKDAY('2021-02-02') DAY)x;
+------+
| x |
+------+
| 2 | -- :-)
+------+
https://stackoverflow.com/questions/66115852
复制相似问题