如何在查询 SQL 服务器时提供带有日期时间的动态 table 名称

How to provide dynamic table name with Date Time in query of SQL Server

我必须在 SQL 服务器中备份 table,但我不想为特定备份 table 指定特定名称,因为有一天可能是那个特定 table 的 n 个备份,因此,每当我们进行备份时,我都必须更改备份 table 的名称。我需要在 SQL 服务器中进行查询,以便它将 date/time 附加到备份 table 的名称。查询应如下所示:

Select *
into TableNameBackup_DateTime from TableName

我已尝试应用以下查询,但出现错误。

Select * into 'TableNameBackup_'+GetDate() from TableName

可以通过以下查询解决

   Declare @tablename AS nvarchar(80);
   SET @tablename='TableNameBackup_'+ 
   replace(replace(replace(convert(varchar(30),getdate(),121),'/','_'),':','_'),'.','_');
   EXECUTE('Select * into '+ @tablename+ ' from TableName');