我如何返回一个表的列名使用SQL Server 2008?即一个表包含这些列- id,名称,地址,国家,我想返回这些数据。


当前回答

为什么不试试这个呢:

右键单击表->脚本表As ->创建到->新建查询编辑器 窗户吗?

脚本中给出了整个列列表。复制它并根据需要使用字段。

其他回答

像这样的东西?

sp_columns @table_name=your table name

这是最简单的方法

exec sp_columns [tablename]
set fmtonly on
select * from yourTable

由于SysColumns已弃用,请使用Sys. columns。All_Columns:

Select  
 ObjectName       = Object_Name(Object_ID)  
,T.Name  
,C.*  
,T.*  
From   
           Sys.All_Columns C  
Inner Join Sys.Types       T  On T.User_Type_Id = C.User_Type_Id  
Where [Object_ID] = Object_ID('Sys.Server_Permissions')  
--Order By Name Asc  

选择“* From Sys”。类型将产生user_type_id =类型的ID。这在数据库中是唯一的。系统数据类型:user_type_id = system_type_id。

下面的查询看起来像上面建议的第一个查询,但有时您必须指定数据库才能使其工作。注意,查询在没有指定TABLE_SCHEMA的情况下也可以工作:

SELECT COLUMN_NAME
FROM   YOUR_DB_NAME.INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_NAME = 'YOUR_TABLE_NAME' AND TABLE_SCHEMA = 'YOUR_DB_NAME'