DECLARE @col_id int; SET @col_id = 4;DECLARE @column_name sysname; SET @column_name = (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '表' AND ORDINAL_POSITION = @col_id);EXEC('SELECT [' + @column_name + '] FROM 表');
declare @col varchar(10),@sql varchar(200) select @col=name from sys.columns where object_id=object_id('tbname') and column_id=4 set @sql='select '+@col+' from tbname' exec (@sql)
然后可以获得一个记录集
去第四列不就好了?
SET @col_id = 4;DECLARE @column_name sysname;
SET @column_name = (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '表'
AND ORDINAL_POSITION = @col_id);EXEC('SELECT [' + @column_name + '] FROM 表');
select @col=name from sys.columns where object_id=object_id('tbname') and column_id=4
set @sql='select '+@col+' from tbname'
exec (@sql)