MySQL заявление не может обновить добавить 4 года

0
update listweb_copy set expiredate = expiredate + interval 4 year
where expiredate is not null and expiredate < "2001-01-01"

Я хочу добавить 4 года к истечению срока действия. Как я могу его исправить?

  • 0
    на какой версии MySQL вы работаете?
Теги:

1 ответ

1

Чтобы добавить любой интервал в MySQL, вы можете использовать DATE_ADD или его синоним ADDDATE. Проверьте ссылку на поддерживаемые интервалы.

Этот термин будет

DATE_ADD(expiredate, INTERVAL 4 YEAR)

MySQL также заявляет:

Арифметика даты также может быть выполнена с использованием INTERVAL вместе с оператором + или:

expiredate + interval 4 year

Это именно то, что у вас было. Не работает ли это?

Для справки, часть expiredate is not null в вашем запросе является избыточной, поскольку для нее преуспеть в < test, он не может быть нулевым. Таким образом, весь запрос будет записан

update listweb_copy set expiredate = expiredate + interval 4 year
where expiredate < '2001-01-01'

или используя функции

update listweb_copy set expiredate = date_add(expiredate, interval 4 year)
where expiredate < '2001-01-01'

Ещё вопросы

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