仅选择INFORMATION SCHEMA中定义的值

时间:2019-02-26 10:05:27

标签: sql tsql information-schema

您能帮我解决以下问题吗?

源表:

enter image description here

从INFORMATION_SCHEMA.COLUMNS定义的列:

enter image description here

在输出中,我想获取源表,但仅显示其列名与信息模式中定义的列名相同的值。含义:

enter image description here

有可能吗?提前非常感谢

1 个答案:

答案 0 :(得分:1)

您需要使用动态SQL来做到这一点:

declare @sql varchar(1000) 'select ';
select @sql = @sql + '[' + column_name + '] ,' from INFORMATION_SCHEMA.COLUMNS;
-- remove last character in a string which is comma
select @sql = left(@sql, len(@sql) - 1);
-- you need to change talbe name here
select @sql = @sql + ' from MyTable';
-- execute statement
exec(@sql)