我有一个带有 varchar 字段的表,其中包含 ISO 8601 时间格式,例如 2015-01-18t10:00:10z。
我可以用
select STR_TO_DATE('2015-01-18t10:00:10z','%Y-%m-%dt%H:%i:%s')
并得到正确的结果:
2015-01-18 10:00:10
当我使用它插入 DATETIME 字段时,我得到:
update test set optin1 = STR_TO_DATE(optin,'%Y-%m-%dt%H:%i:%s')
错误代码:1292 截断不正确的日期时间值:'2015-01-18t10:00:10z'
Optin
是 varchar ISO 8601 时间列
Optin1
是我要更新的 DATETIME 字段。
任何人都知道为什么这是 hapepenig 以及如何解决这个问题?
非常感谢。