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

甲骨文 MySQL PostgreSQL

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


当前回答

SELECT column_name, data_type, character_maximum_length, table_name,ordinal_position, is_nullable 
FROM information_schema.COLUMNS WHERE table_name LIKE 'YOUR_TABLE_NAME'
ORDER BY ordinal_position

其他回答

只需运行这个命令

EXEC sp_columns 'Your Table Name'

在SQL Server 2008中可以使用sp_help。

sp_help <table_name>;

以上命令的键盘快捷键:选择表名(即突出显示它)并按ALT+F1。

你可以尝试使用:-

USE db_name;
DESCRIBE table_name;

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

你可以试试这个。这将给出所有列名及其各自的数据类型。

desc <TABLE NAME> ;

另一个更直观的选择是:

SELECT [name] 
FROM sys.columns 
WHERE object_id = OBJECT_ID('[yourSchemaType].[yourTableName]') 

这将在一个列中提供所有列名。 如果您关心其他元数据,可以将SELECT语句编辑为SELECT *。