MySQL DATETIME - изменение только даты
Начиная с: 2011-01-17 09:30:00
Скажем, я хочу изменить только дату с 2011-01-28
Каков наиболее эффективный способ: 2011-01-28 09:30:00
Спасибо!
Для всех, кто говорит Date_Add..., что потребует от меня вычесть даты, а затем добавить дни. Это возможность... но он хотел удалить этот первый шаг и просто "заменить" дату
Ответы
Ответ 1
Если вы действительно не хотите использовать функцию date_add, вы можете использовать эту конструкцию:
UPDATE table_name SET field_name = concat('2011-01-12 ', time(field_name))
Обязательно добавьте пробел после даты ('2011-01-12 ◯
').
Ответ 2
Чтобы изменить его на 5 дней вперед:
UPDATE yourTableName
SET myDate1 = myDate1 + INTERVAL 5 DAY
WHERE myDate1 = dateIWantToChange
(вы также можете использовать MONTH, YEAR и т.д.)
Ответ 3
Возможно, DATE_ADD - хорошая идея. текст ссылки
Ответ 4
Вы можете добавить различные компоненты даты, чтобы изменить его, используя функцию Date_Add. Проверьте это:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
Ответ 5
Пользуясь чем-то вроде:
CONCAT('2011-01-28 ',DATE_FORMAT(original_timestamp, '%H:%i:%s'))
Ответ 6
Проверить запрос
update yourtable set eventtime=replace(eventtime,substr(eventtime,1,10), '2013-07-17') WHERE `id`=4