Дата обновления + один год в mysql

97

Когда я хочу установить числовое значение +1 в таблице mysql, я использую, например:

UPDATE table SET number=number+1 WHEN ...

Как установить дату + один год?

Спасибо

Байло
источник
dev.mysql.com/doc/refman/5.1/en/…
Спайк Гроним 05

Ответы:

174

Вы можете использовать DATE_ADD : (или ADDDATE с INTERVAL)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
Жюльен Хорау
источник
17

Этот пост помог мне сегодня, но мне пришлось поэкспериментировать, чтобы сделать то, что мне нужно. Вот что я нашел.

Если вы хотите добавить более сложные периоды времени, например 1 год и 15 дней, вы можете использовать

UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR;

Я обнаружил, что использование DATE_ADDне позволяет добавлять более одного интервала. И нет ключевого слова интервала YEAR_DAYS, хотя есть и другие, которые объединяют периоды времени. Если вы добавляете время, используйте now()вместо curdate().

Фред Макинтайр
источник
4

Для нескольких типов интервалов используйте вложенную конструкцию, например:

 UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY)

Для обновления заданной даты в столбце dateдо 1 года + 1 день

Рафаэль Мейер
источник