我的SQL Server数据库的表以加载日期命名,格式如下
## FROM [GL_202206].[dbo].[GL_ACCOUNT_20220602].
我做了一个查询,可以生成一个类似于表名的字符串,如下所示:
SELECT
CONCAT('[GL_', YEAR(GETDATE()), FORMAT (GETDATE(), 'MM'),
'].[dbo].[GL_ACCOUNT_', CONVERT(CHAR(8), GETDATE(), 112), ']')
如何在查询中获得字符串来制作表名?
说
SELECT
ACCOUNTID, ACCOUNTNAME
FROM
[GL_202206].[dbo].[GL_ACCOUNT_20220602]
你的SQL是正确的,你只需要执行它。
declare @sql nvarchar(max) = null;
SELECT @sql = 'select ACCOUNTID, ACCOUNTNAME from ' +
CONCAT('[GL_', YEAR(GETDATE()), FORMAT (GETDATE(), 'MM'),
'].[dbo].[GL_ACCOUNT_', CONVERT(CHAR(8), GETDATE(), 112), ']');
exec (@sql)