mysql日期计算

ddhy6vgd  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(411)

我有一个mysql脚本,从2017年到现在,我每周一都在运行这个脚本大约8个月。它已经停止工作,现在我们在2018年。
这是我遇到问题的代码

select date_format(date_add(STR_TO_DATE(concat(201750, ' Monday'), '%X%V %W'), interval -7 day),"%x%v")

结果正如您预期的那样,生成201749,即201750-7天
但是以下代码

select date_format(date_add(STR_TO_DATE(concat(201802, ' Monday'), '%X%V %W'), interval -7 day),"%x%v")

生产201802,但它应该生产201801。

kcugc4gi

kcugc4gi1#

我找到了这个问题的答案。我必须将格式代码从%x%v更改为%x%v(即从大写改为小写)。大写x&v代表从周一开始的一周,小写代表周日。出于某种原因,大写字母适用于2017年,但不适用于2018年,然而小写字母适用于我迄今为止测试的所有年份。

相关问题