我知道您可以使用下面的查询获取表的列的类型。
select COLUMN_NAME, DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'myTbl'
我想知道是否在编写包含2个或更多表的选择查询时是否可以执行类似的操作?即有没有一种方法可以确定列数据类型?
另一个选择是 sys.dm_exec_describe_first_result_set()
这样做的好处是,您几乎可以提供任何查询,表,视图甚至存储过程。
例
Select column_ordinal ,name ,system_type_name From sys.dm_exec_describe_first_result_set('Exec [dbo].[prc-App-Lottery-Search] ''7613''',null,null )
退货
column_ordinal name system_type_name 1 DrawDate date 2 DrawDE varchar(1) 3 DrawAct varchar(4) 4 DrawNrm varchar(4) 5 Hits int 6 Elapsed nvarchar(4000)
通用示例,查看所有可用列
Select * From sys.dm_exec_describe_first_result_set('Select * from master..spt_values',null,null )