猿问

关于 MySQL 的 %x%v 问题

SELECT DATE_FORMAT("2019-01-01", "%x%v") AS currentWeek;

%v一周以周一开始,得以下结果:

  • 20160101(五) -> 201553

  • 20170101(日) -> 201652

  • 20180101(一) -> 201801

  • 20181231(一) -> 201901

  • 20190101(二) -> 201901

如果以一年第1个周一为起点,那16、17年是正确的

这个结果特别费解,有人解疑麽?


四季花海
浏览 1174回答 2
2回答

慕沐林林

If the week containing January 1 has 4 or more days in the new year, it is week 1.Otherwise, it is the last week of the previous year, and the next week is week 1.回到题目20160101 最开始一周在 2016 年小于 4 天,所以属于 2015 最后一周20170101 最开始一周在 2017 年小于 4 天,所以属于 2016 最后一周20180101 最开始一周在 2018 年大于 4 天,所以属于 2018 第一周...以此类推参考: MySQL: function_week
随时随地看视频慕课网APP

相关分类

MySQL
我要回答