WEEK(FROM_UNIXTIME(1525212000))
给出结果为17,但它应该是18
是MySQL中的错误还是我做错了什么?
mysql Ver 14.14 Distrib 5.7.18
示例查询
到目前为止的时间戳
使用在线版本检查日期
答案 0 :(得分:1)
这一周可以在0-53的范围内,所以你只需要在结果中加1或者更好,然后用周期函数的第二个参数改变模式周数的计算方式。
WEEK(date[,mode])
查看本周函数的官方文档:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week
如果省略mode参数,则为default_week_format的值 使用系统变量
答案 1 :(得分:0)
我认为最好选择使用WEEKOFYEAR函数而不是WEEK函数
WEEKOFYEAR(date)以数字形式返回日期的日历周 范围从1到53. WEEKOFYEAR()是兼容性功能 相当于WEEK(日期,3)。
来源:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekofyear