使用今天的日期附加SQL表名

Ric*_*ano 3 t-sql sql-server

据我所知,我可以使用以下sp更改sql表:

EXEC sp_rename 'customers', 'custs'
Run Code Online (Sandbox Code Playgroud)

我如何附加这个以便新表的今天的日期作为后缀?

我尝试了以下主题的变化,但收效甚微!

EXEC sp_rename 'customers', 'customers +(CONVERT(VARCHAR(8),GETDATE(),3))'
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

KM.*_*KM. 5

这听起来像是一件非常糟糕的事情!您应该评估您的设计,使用名称中的日期重命名您的表格表明您将生成许多表格,每个表格用于不同的日期.您可以在表中添加日期列,并使用它来区分数据,而不是为不同的日期创建全新的表.

话虽如此,您不能将表达式作为SQL Server中存储过程的参数.通过尝试将格式化日期连接到字符串'customers',您试图将表达式作为参数传递.

您必须首先将表达式存储在局部变量中,然后使用该局部变量调用存储过程:

DECLARE @Value varchar(500)
SET @Value='customers' +(CONVERT(VARCHAR(8),GETDATE(),3))
EXEC sp_rename 'customers', @Value
Run Code Online (Sandbox Code Playgroud)