如何将列名作为参数传递在SELECT语句SQL Server中



如何将列名称为sql Server select语句中的参数?

您需要构建查询才能动态执行,但是您需要防止SQL注入攻击。幸运的是,SQL Server为此目的提供了定价功能。

DECLARE @columnname varchar(50)
SET @columnname = 'MyColumn'
EXEC('SELECT ' + QUOTENAME(@columnname) + ' FROM MyTable')

您可以使用方法:

declare @sql nvarchar(max)
set @sql = 'your dynamic query here'
EXEC(@sql)

请注意,这是不安全的,不建议使用。

创建过程[dbo]。[usp_load]@TableName varchar(100)作为开始

exec('选择max(date)作为maxdate,min(date)为' @tablename)

结束

最新更新