mysql date_format()-%U和%V标志之间有什么区别?

时间:2018-07-03 12:11:33

标签: mysql

我在mysql date_format()的文档中看到它返回53或54个不同的值。据我所知,岁数有52周或53周。这多余的一周从哪里来?

%U  Week where Sunday is the first day of the week (00 to 53)
%u  Week where Monday is the first day of the week (00 to 53)
%V  Week where Sunday is the first day of the week (01 to 53). Used with %X
%v  Week where Monday is the first day of the week (01 to 53). Used with %X

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

那么U和V标志之间有什么区别? U标志的范围不应该在(00到52)之间吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

从播放日期范围为2018-01-01(星期一)至2018-01-07(星期日)的日期时可以看到的内容:

  • V可以返回上一年的周号:

SELECT DATE_FORMAT("2018-01-05", "%V");

返回53(这里的周从2017年的周日开始)。 %v的工作原理相同,但上面的返回值为0,因为星期一是一周的第一天,并且已经在2018年。

  • U不具有该属性:对于带有%U的上述内容,将返回1。