求教简单sql查询动态表名,该怎么解决

求教简单sql查询动态表名,该怎么解决

求教简单sql查询动态表名

使用的是mysql

有这么系列表

a_1004

a_1005

a_1006



1004是10年4月

这个月是4月,怎么写一条sql语句查询a_1004表中的,等到5月,可以查询a_1005表

select concat(“a_”,(select substring(DATE_FORMAT(Date_add(now(), interval 0 day),’%Y%m’),3,4)));

得到的是 a_1004

怎么样可以查询 这个字符串为表名的表?

谢谢,by phoenix




set @aa=concat(‘select * from ‘,”a_”,(select substring(DATE_FORMAT(Date_add(now(), interval 0 day),’%Y%m’),3,4)));

prepare qq from @aa;

execute qq;




MySQL 中SQL语句无法实现动态的使用表名做变量。只能通过PREPARE来实现动态SQL语句。

SQL code

SET @sql = concat(' select * from a_',DATE_FORMAT(now(),'%y%m'));
PREPARE stmt FROM @sql;
EXECUTE stmt1 ;
DEALLOCATE PREPARE stmt1;


                        
  
  
                    
求教简单sql查询动态表名,该怎么解决

相关文章:

你感兴趣的文章:

标签云: