当我运行:SELECT YEARWEEK('2018-09-11');时,它返回201836

什么?当然,应该在第37周。

我知道,有一个设置可以告诉MySQL应该在一周的哪一天开始,但这可以是星期日或星期一。这是星期二,所以不要紧。

有什么想法吗?我在CentOS 7服务器上使用MariaDB 10.1.32。

最佳答案

您应该看到该站点以供参考:MySQL YEARWEEK()

根据上述内容,您可以指定应如何计算周数:第二个参数(可选)告诉您一周中的第一天是多少,以及应该包括多少天,例如:


  1-一周的第一天是星期一,第一周超过3天


您可以尝试以下查询:

SELECT YEARWEEK('2018-09-11')
union all
SELECT YEARWEEK('2018-09-11', 1)
union all
SELECT YEARWEEK('2018-09-11', 3);


它返回:

201836
201837
201837


因此,您现在应该感觉如何使用YEARWEEK

Demo.

10-08 12:38