[英]mysql procedure CONCAT error
我想将数据从当前月份的另一个表复制到表中
这个SQL没问题
SELECT * FROM aqi_hour where DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m' )
但这不行,执行CALL porcedureName() create procedure porcedureName () begin SET @sqlstr = CONCAT(' CREATE TABLE aqi_hour_',DATE_FORMAT(now(),'%Y%m') ,' SELECT * FROM aqi_hour where ', DATE_FORMAT( date, '%Y%m' ) ,'=', DATE_FORMAT( CURDATE( ) , '%Y%m' )); PREPARE stmt1 FROM @sqlstr ; EXECUTE stmt1 ; end
create procedure porcedureName () begin SET @sqlstr = CONCAT(' CREATE TABLE aqi_hour_',DATE_FORMAT(now(),'%Y%m') ,' SELECT * FROM aqi_hour where ', DATE_FORMAT( date, '%Y%m' ) ,'=', DATE_FORMAT( CURDATE( ) , '%Y%m' )); PREPARE stmt1 FROM @sqlstr ; EXECUTE stmt1 ; end
错误消息:[Err] 1054-“字段列表”中的未知列“日期”
谢谢!
尝试:
SET @`sqlstr` := CONCAT('CREATE TABLE aqi_hour_', DATE_FORMAT(NOW(), '%Y%m'),
' SELECT *
FROM aqi_hour
WHERE DATE_FORMAT(date, \'%Y%m\') =
DATE_FORMAT(CURDATE() , \'%Y%m\')
');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.