我如何返回一个表的列名使用SQL Server 2008?即一个表包含这些列- id,名称,地址,国家,我想返回这些数据。
当前回答
我不确定syscolumns。colid值与作为sp_columns一部分返回的'ORDINAL_POSITION'值相同,但在接下来的内容中,我将以这种方式使用它-希望我没有误导…
这是我发现的一些其他答案的轻微变化-我使用这个是因为表中列的“位置”或顺序在我的应用程序中很重要-我基本上需要知道“列(n)被称为什么?”
sp_columns返回一大堆无关的东西,我使用select函数比T-SQL函数更方便,所以我走了这条路:
select
syscolumns.name,
syscolumns.colid
from
sysobjects, syscolumns
where
sysobjects.id = syscolumns.id and
sysobjects.xtype = 'u' and
sysobjects.name = '<YOUR_TABLE>'
order by syscolumns.colid
其他回答
我用了马丁·史密斯提到的问题,简短一点:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'YourTableName'
如果你正在使用postgresql,有可能不止一个模式有相同名称的表,在这种情况下应用下面的查询
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'your_table_name' AND table_schema = 'your_schema_name’;
由于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。
我不确定syscolumns。colid值与作为sp_columns一部分返回的'ORDINAL_POSITION'值相同,但在接下来的内容中,我将以这种方式使用它-希望我没有误导…
这是我发现的一些其他答案的轻微变化-我使用这个是因为表中列的“位置”或顺序在我的应用程序中很重要-我基本上需要知道“列(n)被称为什么?”
sp_columns返回一大堆无关的东西,我使用select函数比T-SQL函数更方便,所以我走了这条路:
select
syscolumns.name,
syscolumns.colid
from
sysobjects, syscolumns
where
sysobjects.id = syscolumns.id and
sysobjects.xtype = 'u' and
sysobjects.name = '<YOUR_TABLE>'
order by syscolumns.colid
我使用
SELECT st.NAME, sc.NAME, sc.system_type_id
FROM sys.tables st
INNER JOIN sys.columns sc ON st.object_id = sc.object_id
WHERE st.name LIKE '%Tablename%'
推荐文章
- GROUP BY with MAX(DATE)
- 删除id与其他表不匹配的sql行
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 在SQL Server Management Studio中保存带有标题的结果
- "where 1=1"语句
- 如何选择一个记录和更新它,与一个单一的查询集在Django?
- 多语句表值函数vs内联表值函数
- 如何从Oracle的表中获取列名?
- NOLOCK提示在SELECT语句中的作用
- SQL OVER()子句-它什么时候有用,为什么有用?
- 如果字段在MySQL中为空,则返回0
- 检查SQL Server登录是否已经存在
- 我如何使用ROW_NUMBER()?