【问题标题】:MYSQL Date calculations in 20182018年MYSQL日期计算
【发布时间】:2018-01-08 12:26:57
【问题描述】:

我有一个 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。

【问题讨论】:

    标签: mysql sql dateadd


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      相关资源
      最近更新 更多