Подтвердить что ты не робот

MySQL добавляет дни до даты

У меня есть таблица в MySQL. Что будет с оператором sql, похоже, добавить 2 дня к текущему значению даты в таблице?

UPDATE classes 
SET 
date = date + 1
where id = 161

это добавляет одну секунду к значению, я не хочу обновлять время, я хочу добавить два дня?

4b9b3361

Ответ 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 ...