如何使用 "mode 7" 从 MySQL 到 return "week 53 of 2012" 的正确年份

How to get MySQL to return the correct year number for "week 53 of 2012" using "mode 7"

如何让 MySQL 告诉我“2013-01-01”是 2012[=28= 的第 53 周]?

我使用 mode 7 来定义一周。

我可以使用 WEEK('2013-01-01', 7)

轻松获得周数

问题当然是YEAR('2013-01-01')returns2013.

YEARWEEK 函数也允许您将模式传递给它。唯一的缺点是它 returns 年和一年中的一周合并在一起:

SELECT YEARWEEK('2013-01-01', 7);

>> 201253

你可以使用 SUBSTRING 解决这个问题,但是,如果你真的只需要单独的年份:

SELECT SUBSTRING(YEARWEEK('2013-01-01', 7), 1, 4);

>> 2012