MYSQL Дата расчетов в 2018 году

0

У меня есть сценарий mysql, который я выполнял каждый понедельник в течение примерно 8 месяцев до 2017 года. Он прекратил работать, пока мы работаем в 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.

Теги:
dateadd

1 ответ

0

Я нашел ответ на этот вопрос. Мне пришлось изменить коды формата от% X% V до% x% v (т.е. от верхнего регистра к нижнему регистру). Верхний регистр X & V представляет собой неделю, начинающуюся в понедельник и в нижнем регистре, в воскресенье. По какой-то причине Upper Case работает в 2017 году, но не в 2018 году, однако в нижнем регистре работает все годы, которые я тестировал до сих пор.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню