我想将一堆varchar像'2015-01-08T00:00:00 + 00:00'迁移到另一个使用datetime的表。
在select语句中使用CAST()函数时,它似乎完美无缺:
SELECT CAST(field_value AS datetime) FROM table
我检索2015-01-08 00:00:00;
但是当我尝试执行INSERT语句时,我收到了这个错误:
Error Code: 1292. Truncated incorrect datetime value: '2015-01-08T00:00:00+00:00'
看起来像cast函数它没有在insert语句中工作。我正在使用的insert语句是类型:
INSERT INTO new_table
SELECT t.x, t2.x, CAST(t2.field_value AS datetime), t.y
FROM table t
LEFT JOIN table2 t2
ON t2.id = t.t2_id
WHERE t2.field_value !='';
编辑:
link to sqlfiddle that reproduces the issue
小提琴中的SELECT语句给出了与本地(工作台和命令行)不同的结果。
尝试使用CONVERT(),我遇到了同样的问题
如何将日期字符串正确插入new_table表?
答案 0 :(得分:0)