我有一个存储过程,我使用SQL Server 2014使用SQL Server Management Studio(SSMS)执行,我得到了一个结果集。我想知道是否有可能发现列类型。例如,假设结果集包含以下列:
Id
Name
BirthDate
Address
State
ZipCode
我想发现每列的类型(例如" Id"是整数,"名称"是字符串等)
我是否可以在SSMS中执行此操作而无需查看存储过程?是否有一些SQL语句可以运行以找出列类型?
答案 0 :(得分:4)
对于Sql Server 2012及更高版本:
EXEC sp_describe_first_result_set N' SELECT * from customer',null,0;
答案 1 :(得分:1)
如果您只需要数据类型,请尝试此操作。您还可以返回其他数据类型信息。查看SQL_VARIANT_PROPERTY()
的文档https://msdn.microsoft.com/en-us/library/ms178550.aspx
SELECT TOP 1 SQL_VARIANT_PROPERTY(ID,'basetype') AS ID,
SQL_VARIANT_PROPERTY(Name,'basetype') AS Name,
SQL_VARIANT_PROPERTY(BirthDate,'basetype') AS BirthDate,
SQL_VARIANT_PROPERTY([State],'basetype') AS [State],
SQL_VARIANT_PROPERTY(Zipcode,'basetype') AS Zipcode
FROM yourTable
理论结果:
ID Name Birthdate State Zipcode
-----------------------------------------------
int varchar datetime varchar int