是否有SQL语句可以返回表中列的类型?


当前回答

从SQL Server 2012开始:

SELECT * FROM sys.dm_exec_describe_first_result_set( N'SELECT * FROM [my].[Table]', NULL, 0 );

其他回答

对于SQL Server,这个系统存储过程将返回所有表信息,包括列数据类型:

exec sp_help YOURTABLENAME

对于Spark SQL:

DESCRIBE [db_name.]table_name column_name
USE [YourDatabaseName]
GO

SELECT column_name 'Column Name',
data_type 'Data Type'
FROM information_schema.columns
WHERE table_name = 'YourTableName'
GO

这将返回值Column Name,显示列的名称,以及这些列的数据类型(int, varchars等)。

下面的SQL脚本在我的结束完美地工作。

SELECT column_name AS 'Column Name',data_type AS 'Data Type' 
FROM information_schema.columns 
WHERE table_name = '[Table Name]'

使用这个查询

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TABLE_NAME'
ORDER BY ORDINAL_POSITION