Не удалось обновить значение таблицы даты и времени в Mysql в формате "%d-%m-%Y %H:%i:%s"
Я попытался обновить все значения строк таблицы с помощью этой функции sql:
UPDATE night
SET started_at = DATE(
STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s')
)
но результат был 2012-05-13 00:00:00
,
Я использую версию сообщества SQLyog v8.12, и у меня есть база данных, размещенная с использованием администратора MySQL v1.2.17, и я не знаю, имеет ли синтаксис sql, используемый в этих программах, конкретную версию.
2 ответа
Решение
Ты звонишь DATE()
функция:
DATE(expr)
Извлекает часть даты из выражения даты или даты и времени
expr
,
Таким образом, часть времени вашего выражения отбрасывается. Просто используйте:
UPDATE night
SET started_at = STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s')
Это сработало для меня:
UPDATE `night` SET started_at = (SELECT STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s'));