mysql select字符串时间格式dateformat后,插入报错,请大神帮忙看看
sql1、首先,select正常使用dateformat查询语句如下
SELECT
gbj.`group`, gbj.mfactoryId, gbj.model,
DATE_FORMAT(str_to_date(gbj.`month`,'%Y'),'%Y') `year`,
gwd.total meterNum,count(*) breakdownNum
FROM gdh_breakdown_jc gbj
LEFT JOIN
(
SELECT gw.model,count(*) total from gdh_wmeter gw
GROUP BY gw.model
) gwd
ON gwd.model = gbj.model
WHERE gbj.useYear <=15
GROUP BY
gbj.model,gbj.GROUP
,gbj.mfactoryId, DATE_FORMAT(str_to_date(gbj.month
,’%Y’),’%Y’)
上述查询语句得到结果如下图
sql2、当我将sql1中select出的数据,插入到另一张表的时候,就报错了,如下
注:
- select出来的数据与gdh_breakdown_rate_jc字段的数据类型是对应的上的;
- 当我将sql2中str_to_date(gbj.
month
,’%Y’)替换成DATE_FORMAT( NOW(), ‘%Y’ ),再次执行sql2的时候,执行成功,如图