Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Spalte in der SQL-Abfrage dynamisch auswählen

Versuchen Sie Folgendes:

DECLARE @var1 VARCHAR(20)
DECLARE @sql VARCHAR(255)

SET @var1 = 'Code'
SET @sql = 'select ' + QUOTENAME(@var1) + ' from [VoucherType] where [DeletedBy] is null and [AutoID] = 1'

EXEC sp_executesql @sql

Sie müssen eine dynamische Abfrage erstellen und mit sp_executesql ausführen

Um mehr auf der „dynamischen“ Seite der Dinge hinzuzufügen, verwenden Sie gespeicherte Prozeduren. Siehe hier für ein Beispiel:

http://www.marten-online.com /database/execute-dynamic-sql-in-mssql.html

Das heißt... wenn Sie Microsoft SQL SERVER verwenden