簡體   English   中英

如何在選擇語句 SQL Server 中將列名作為參數傳遞

[英]How to pass column name as parameter in select statement SQL Server

如何在 SQL Server select語句中將列名作為參數傳遞?

您需要構建查詢以動態執行,但您需要防止 SQL 注入攻擊。 幸運的是,SQL Server 為此提供了QUOTENAME函數。

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) AS BEGIN

EXEC('SELECT max(date) AS MaxDate, min(date) AS MinDate from '+@tablename)

結尾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM