Как мне минус 2 часа из поля даты / времени в КАЖДОЙ записи в таблице? - PullRequest
5 голосов
/ 15 июля 2011

Я пытаюсь компенсировать ошибку часового пояса из PHP.Все время, записанное в таблице «тест», было впереди на два часа.Я хочу обновить каждую запись, минус два часа с того времени, которое уже есть.

Я пытался:

UPDATE test 
   SET LastModifiedDate = SUBTIME( LastModifiedDate, '02:00:00' ) 

Но это просто обновляет все поля с одинаковым значением.

Пожалуйста, помогите

спасибо

Ответы [ 3 ]

11 голосов
/ 15 июля 2011
update test set LastModifiedDate = LastModifiedDate - interval 2 hour;
7 голосов
/ 15 июля 2011

Используйте функцию DATE_SUB () :

UPDATE test SET LastModifiedDate = DATE_SUB(LastModifiedDate, INTERVAL 2 HOUR)

Сначала проверьте, чтобы убедиться, что он делает то, что вы хотите:

SELECT LastModifiedDate, DATE_SUB(LastModifiedDate, INTERVAL 2 HOUR) FROM test;
2 голосов
/ 15 июля 2011
update test set LastModifiedDate = adddate(LastModifiedDate, interval -2 hour);

это изменит все ваши даты на -2 часа.Вы можете сузить результат в разделе «где» запроса, нацеливаясь на определенные строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...