MySQL добавляет дни до даты
У меня есть таблица в MySQL. Что будет с оператором sql, похоже, добавить 2 дня к текущему значению даты в таблице?
UPDATE classes
SET
date = date + 1
where id = 161
это добавляет одну секунду к значению, я не хочу обновлять время, я хочу добавить два дня?
Ответы
Ответ 1
Предполагая, что ваше поле является типом date
(или аналогичным):
SELECT DATE_ADD('your_field_name', INTERVAL 2 DAY)
FROM 'table_name';
В примере, который вы предоставили, он может выглядеть следующим образом:
UPDATE classes
SET 'date' = DATE_ADD('date' , INTERVAL 2 DAY)
WHERE 'id' = 161;
Этот подход также работает с datetime
.
Ответ 2
UPDATE table SET nameofdatefield = ADDDATE(nameofdatefield, 2) WHERE ...
Ответ 3
Этот запрос подходит для получения значений между текущей датой и ее следующими 3 датами
SELECT * FROM tableName
WHERE columName BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)
В конечном итоге это добавит дополнительные 3 дня буфера к текущей дате.
Ответ 4
update tablename set coldate=DATE_ADD(coldate, INTERVAL 2 DAY)
Ответ 5
Для ваших нужд:
UPDATE classes
SET `date` = DATE_ADD(`date`, INTERVAL 2 DAY)
WHERE id = 161
Ответ 6
SELECT DATE_ADD(CURDATE(), INTERVAL 2 DAY)
Ответ 7
DATE_ADD(FROM_DATE_HERE, INTERVAL INTERVAL_TIME_HERE DAY)
даст дату после настройки INTERVAL
например.
DATE_ADD(NOW(), INTERVAL -1 DAY) for deducting 1 DAY from current Day
DATE_ADD(NOW(), INTERVAL 2 DAY) for adding 2 Days
Вы можете использовать как
UPDATE classes WHERE date=(DATE_ADD(date, INTERVAL 1 DAY)) WHERE id=161
Ответ 8
SET date = DATE_ADD( fieldname, INTERVAL 2 DAY )
Ответ 9
Вы можете оставить функцию date_add.
UPDATE 'table'
SET 'yourdatefield' = 'yourdatefield' + INTERVAL 2 DAY
WHERE ...