[英]T-SQL: Exclude Columns from a SELECT statement based on string
我的总体目标是通过在列名中选择具有特定模式/标签的现有表中的列来创建新表。 这是在 SQL Server 中。
例如,我有一个共同的需求,即从公司表中获取所有联系信息,并将其放入自己的联系表中。
我一直无法在 SQL 中找到一种编程方法来表示从基于字符串的SELECT
语句中排除列。
当寻找像COL_NAME
函数这样的选项时,那些需要一个 ID arg,这对我来说会杀死那个选项。
希望有一些内置的东西可以像下面这样工作:
SELECT *
FROM TABLE
WHERE COL_NAME() LIKE 'FLAG%'
有任何想法吗? 对任何事物开放! 谢谢!!
一个技巧可能是首先使用以下代码来获取您想要的列名:
select * from information_schema.columns
where table_name='tbl' and column_name like 'FLAG%'
然后将它们连接成一个逗号分隔的字符串,最后使用创建的字符串作为列名创建一个动态 sql 查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.