我想查询一个表的所有列的名称。我发现如何做到这一点:

甲骨文 MySQL PostgreSQL

但我也需要知道:如何在Microsoft SQL Server(在我的情况下是2008年)中做到这一点?


当前回答

您可以使用这个查询

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'

其他回答

SELECT name
FROM sys.columns
WHERE object_id = OBJECT_ID('TABLE_NAME')

TABLE_NAME是你的表

您可以使用这个查询

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'
select *
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME='tableName'

这比从sys。列,因为它直接显示DATA_TYPE。

简单,不需要sys变量:

SHOW COLUMNS FROM suppliers;

你可以尝试使用:-

USE db_name;
DESCRIBE table_name;

它会给你带有类型的列名。