-2

我有一个带有表'testimport'的数据库。该表包含 - 日期时间格式的列 (DateOccurred) 并包含 0000-00-00 00:00:00 - 包含 varchar(255) utf8_general_ci 格式的 20/03/2013 14:17 的列 (Comments)。

我正在尝试将“评论”的内容转移到“日期发生”,它应该存储为日期/时间,但仅限于 ID 为 2 的行。

我尝试了这个(以及各种变体),但没有运气。

UPDATE testimport SET DateOccurred = DATE_FORMAT(STR_TO_DATE(Comments, '%d/%m/%Y %h:%m:%s'), '%Y-%m-%d %h:%m:%s') WHERE ID=2

这会导致“DateOccurred”列更改为“Null”内容。

谁能告诉我哪里出错了。

4

1 回答 1

1

改变

STR_TO_DATE(Comments, '%d/%m/%Y %h:%m:%s')

STR_TO_DATE(Comments, '%d/%m/%Y %H:%i')

因为您没有标记秒数。此外,分钟使用%i和小时需要%H

在此处查看完整列表:MySQL Docs


您的完整查询可以缩短/修改为

UPDATE testimport 
SET DateOccurred = STR_TO_DATE(Comments, '%d/%m/%Y %H:%i')
WHERE ID = 2
于 2013-04-14T19:27:43.510 回答