实际表格
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" );
由于
答案 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