Вопрос:

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

mysql date

96771 просмотра

3 ответа

697 Репутация автора

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

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

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

Спасибо

Автор: Bajlo Источник Размещён: 05.10.2010 03:11

Ответы (3)


160 плюса

42114 Репутация автора

Решение

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

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
Автор: Julien Hoarau Размещён: 05.10.2010 03:14

16 плюса

229 Репутация автора

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

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

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

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

Автор: Fred McIntyre Размещён: 11.06.2013 02:39

3 плюса

119 Репутация автора

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

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

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

Автор: Raffael Meier Размещён: 18.09.2016 03:48
Вопросы из категории :
32x32