为了账号安全,请及时绑定邮箱和手机立即绑定

关于 MySQL 的 %x%v 问题

关于 MySQL 的 %x%v 问题

四季花海 2019-03-04 21:09:26
SELECT DATE_FORMAT("2019-01-01", "%x%v") AS currentWeek;%v一周以周一开始,得以下结果:20160101(五) -> 20155320170101(日) -> 20165220180101(一) -> 20180120181231(一) -> 20190120190101(二) -> 201901如果以一年第1个周一为起点,那16、17年是正确的这个结果特别费解,有人解疑麽?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 1173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信