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

Обновить только время в поле mysql DateTime

Как обновить только время в уже существующем поле DateTime в MySQL? Я хочу, чтобы дата осталась прежней.

4b9b3361

Ответ 1

Попробуйте следующее:

UPDATE yourtable SET yourcolumn=concat(date(yourcolumn), ' 21:00:00') WHERE Id=yourid;

Ответ 2

Попробуйте следующее:

UPDATE t1 SET DateTimeField = CONCAT(DATE(DateTimeField),' 12:34:56');

Ответ 3

Я решил так:

UPDATE table
SET myDateTime = CONCAT_WS(' ',DATE(myDateTime), CURTIME())
WHERE id = @id;

Очевидно, вы должны изменить CURTIME() с нужным временем.

Ответ 4

UPDATE myTable
SET myDateTime = ADDTIME(DATE(myDateTime), @myTimeSpan)
WHERE id = @id;

Документировано в функциях даты MySQ Документация по MySQL

Ответ 5

UPDATE myTable
SET myDateTime = ADDTIME(myDateTime, @myTimeSpan)
WHERE id = @id;

Для точного синтаксиса функции см. this.

Ответ 6

Попробуйте следующее:

UPDATE sms 
SET entry_period_end_date= entry_period_end_date+INTERVAL 6 Hour 
WHERE TIME(entry_period_end_date) = '06:00:00';

Ответ 7

UPDATE `table`
SET time = ADDTIME(time, INTERVAL 13 Hour);

Ответ 8

Ну, именно то, что вы просите, невозможно. Компоненты даты и времени не могут обновляться отдельно, поэтому вам нужно вычислить новое значение DateTime из существующего, чтобы вы могли заменить все значение.

Ответ 9

На странице MySQL DEV отображаются такие функции, как subtime и difftime

Пример кода для возврата времени, когда все сообщения за 3 часа превышают:

UPDATE tablepost SET datepost = SUBTIME( datepost , '0 3:0:0' );

Обратите внимание, что значения 0 не изменяют соответствующее поле. Позаботьтесь об этом коде, сначала используйте функцию select для проверки этих функций.

Ссылка: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_subtime

Ответ 10

Если у вас есть поле DATE и TIME, и вы хотите ввести время в дату, попробуйте следующее:

UPDATE mytable
SET mydatefield = ADDTIME( DATE_FORMAT(mydatefield,'%Y-%m-%d 00:00:00'), mydatefield)
WHERE myid = ...