我希望将数据复制到另一个具有当前月份的表中
这个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
错误消息:[错误] 1054 - 未知列'日期'在'字段列表'
谢谢!
答案 0 :(得分:0)
尝试:
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\')
');