选择动态创建的表

时间:2017-09-12 05:44:40

标签: sql sql-server-2008

我有一张表dc201709,它是在每个月的第1天动态创建的。所以,如果10月它将是2017年10月等等。

DC是前缀,201709是yyyymm格式的当前年份和月份

表格如

ID名称类

1 ABC First
2 LMN秒

我想从上表中仅选择ID和Class。

我可以通过以下查询实现

select ID,Class from dc201709

现在我想制作一个select语句,以便我不想在每个月的第一天再次对表名进行硬编码

类似于: -

select ID,Class from dc+CONVERT(varchar(6),getdate(),112) 

所以我不想一次又一次地改变我的选择语句。

有没有办法实现这一目标?

当我尝试:

select * from dc+'CONVERT(varchar(6),getdate(),112)' It gives me an error

语法错误

1 个答案:

答案 0 :(得分:1)

您可以使用exec语句

DECLARE @str VARCHAR(200)
SET @str  = 'select ID, Class from dc'+ CONVERT(varchar(6),getdate(),112)
exec(@str)