CREATE FUNCTION `F_GET_WEEK_OF_DATE`(inday CHAR(100)) RETURNS char(11)
BEGIN
DECLARE nowYear INT(11); -- 今年 -年
DECLARE nowWeek INT(11); -- 今年 -周
DECLARE oneWeek INT(11); -- 今年1月1号所在的周
SET nowYear = DATE_FORMAT(inday,'%Y');
SET oneWeek = WEEK(CONCAT(nowYear,'-01-01')); -- 获取今年1月1号所在的周 如果==0 那么是上一年的53周 那么获取的后边的周需要+1
SET nowWeek = WEEK(inday);
IF oneWeek=0 THEN SET nowWeek = nowWeek+1;
END IF;
IF nowWeek>53 THEN SET nowWeek = 53;
END IF;
RETURN if(nowWeek > 9, CONCAT(nowYear,'-',nowWeek), CONCAT(nowYear,'-0',nowWeek));
END
如果以周一为一周的开始,周日为一周的结束,需要将week(date)改成week(date, 1)