Ответ 1
Вы можете использовать DATE_ADD: (или ADDDATE с INTERVAL
)
UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR)
Когда я хочу установить числовое значение +1 в таблице mysql, я использую например:
UPDATE table SET number=number+1 WHEN ...
Как установить дату + год?
Спасибо
Вы можете использовать DATE_ADD: (или ADDDATE с INTERVAL
)
UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR)
Этот пост помог мне сегодня, но мне пришлось поэкспериментировать, чтобы делать то, что мне нужно. Вот что я нашел.
Если вы хотите добавить более сложные периоды времени, например 1 год и 15 дней, вы можете использовать
UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR;
Я обнаружил, что использование DATE_ADD
не позволяет добавлять более одного интервала. И нет ключевого слова интервала YEAR_DAYS, хотя есть и другие, которые объединяют периоды времени. Если вы добавляете время, используйте now()
, а не curdate()
.
Для нескольких типов интервалов используйте вложенную конструкцию, как в:
UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY)
Для обновления заданной даты в столбце date
до 1 года + 1 день