【发布时间】:2013-10-09 00:08:20
【问题描述】:
我想知道是否有办法从 SQL 语句中获取列的列表。例如,我有一个简单的 SQL 语句,例如“Select FirstName, LastName From Customer”,我想获取 SQL 语句中返回的列的列表,在本例中为 FirstName 和 LastName。 SQL 语句是动态的,因此直到运行时才知道。
目前我通过在数据库中动态创建一个视图而不是使用:
SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = @viewName
比我放弃视图。
这对于仅获取 select 语句的列来说似乎有点戏剧性。
关于如何在不创建和删除视图的情况下执行此操作的任何想法?
提前致谢
【问题讨论】:
-
为什么不使用字符串操作技术从查询中提取列名?比如 SQLQuery.substring...? sql server 中需要这些列名吗?
-
嗨 mpakbaz,问题是列开始之前的 sql 组合非常大。此外,sql 定义永远不会是一个完美的名称,而不是逗号,它可能是一个带有 AS 字段映射的计算字段或一个非命名列,比如 EXPR1 类型。
-
不提前知道栏目?你想做什么?
标签: sql sql-server database sql-server-2008