Mysql批量插入预定义函数不起作用,SQL错误(1292):截断不正确的日期值

时间:2017-03-24 06:23:17

标签: mysql

实际表格

assets_tag | purchase_date
---------- | ------
ABCD123    | 11/02/2015 00:00:00
ABCD456    | 29/03/2015 00:00:00

正常选择查询

select assets_tag, str_to_date(purchase_date, "%d/%m/%Y" );

assets_tag | purchase_date
---------- | ------
ABCD123    | 2015-02-11
ABCD456    | 2015-03-29

如果我运行它已正确转换和显示。但是创建一个临时表它显示错误 SQL错误(1292):截断错误的日期值

create TEMPORARY table temp as select assets_tag, str_to_date(purchase_date, "%d/%m/%Y" );

由于

2 个答案:

答案 0 :(得分:1)

试试这个:

STR_TO_DATE(purchase_date, "%d/%m/%Y  %H:%i:%s");

答案 1 :(得分:0)

查询问题是日期转换问题。

select assets_tag, str_to_date(purchase_date, "%d/%m/%Y" ); 此查询对于显示输出是正确的。但是你要插入另一个表是抛出错误 SQL错误(1292):截断错误的日期值

略微更改查询格式并正确插入。 select assets_tag, str_to_date(purchase_date, "%d/%m/%Y %H:%i:%s" );

实际查询在

之下

insert into asset_registers ( assets_tag, purchase_date ) select assets_tag, str_to_date(purchase_date, "%d/%m/%Y %H:%i:%s" );

purchase_date - 数据类型为日期。

但我也怀疑如何插入,因为显示格式为Y-m-d H:i:s它已插入Y-m-d

感谢Amr Aly