Не удалось обновить значение таблицы даты и времени в 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')); 
Другие вопросы по тегам