【发布时间】:2012-09-06 18:11:23
【问题描述】:
我正在研究一个具有“yyyy-dd-mm hh:mm”格式的日期字段的数据库,我使用 STR_TO_DATE 将字段更改为“yyyy-mm-dd hh:mm”,但它返回了一个错误。
查询:
UPDATE transaction
SET time_creation = STR_TO_DATE(time_creation, '%Y-%m-%d %H:%i');
错误:
日期时间值不正确:函数 str_to_date 的“2005-08-06 15:57:00”
我也对以下查询进行了检查:
SELECT
time_creation,
STR_TO_DATE(time_creation,'%Y-%m-%d %H:%i') AS DATE_FORMATTED
FROM transaction;
并在 DATE_FORMATTED 列中为日期值获取 NULL,例如
'2007-22-11 15:32' 但对 '2007-09-11 13:12' 工作得很好。我不明白到底发生了什么。任何帮助表示赞赏.. 谢谢。
【问题讨论】:
-
您是否将日期存储在字符串列中?
-
transaction_date列为varchar类型。
-
为什么?在日期/日期时间列中存储日期和时间。