【发布时间】:2021-02-09 20:54:02
【问题描述】:
我需要返回月份号,从一周的第一天开始
我在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 个月。
日期 2.2.2021 = 年 2021 周 5 = 月 2. 函数返回 1 :(
谢谢
【问题讨论】:
-
date 4.4.2021 fn 参数中没有 DATE 数据类型变量。更精确。
-
你在一周的第一天叫什么,星期天还是星期一?
-
第一天是星期一
标签: mysql