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


当前回答

我认为在Microsoft SQL Server Management Studio中最简单和最有用的方法是:

EXEC [ServerName].[DatabaseName].dbo.sp_help 'TableName'

其他回答

对于Spark SQL:

DESCRIBE [db_name.]table_name column_name
SHOW COLUMNS FROM //table_name// ;

它将为您提供关于表中所有列的信息。

在oracle SQL中,你可以这样做:

SELECT
    DATA_TYPE
FROM
    all_tab_columns 
WHERE
    table_name = 'TABLE NAME' -- in uppercase
AND column_name = 'COLUMN NAME' -- in uppercase

如果有人觉得这个有用的话。在SQL Server中:

      sp_columns 'yourtablename'

这将给出所有列的详细信息。它提供了column_name、data_type、type_name、precision、length、iss_nullable等。

使用MS SQL的另一个变体:

SELECT TYPE_NAME(system_type_id) 
FROM sys.columns 
WHERE name = 'column_name'
AND [object_id] = OBJECT_ID('[dbo].[table_name]');