SQL data types from my query

Иногда нужно узнать типы возвращаемых запросом данных, например для объявления табличной переменной.
Начиная с 2012 SQL Server это легче легкого, для более ранних версий придется создавать временную таблицу из результата запроса, и затем в tempdb.sys.columns.
DECLARE @query nvarchar(max) = '
	select id, measEquiId, zipFlag, psId, dateSet, replaceId, pl1, pl2, pl3, phase, place, joinName, created, whoCreate, dateReplace from (
		select id, measEquiId, zipFlag, dateSet dateReplace, created, whoCreate from [MetrologDev].[dbo].m_eqPlaceParamsList ep
			where ep.deleted is null and ep.zipFlag = 35 and ep.psId = 0 and ep.replaceId=0 
			and not exists (select null from [MetrologDev].[dbo].m_eqPlaceParamsList ep2 where ep2.deleted is null and ep2.measEquiId = ep.measEquiId and ep2.psId <> 0 and ep2.replaceId=0 and ep2.id > ep.id)
			) inZip
		outer apply (
			select id id_r, psId, dateSet, replaceId, pl1, pl2, pl3, phase, place, joinName, created created_r, whoCreate whoCreate_r from (
				select row_number() over(order by id desc) rn, * from [MetrologDev].[dbo].m_eqPlaceParamsList ep
					where inZip.measEquiId=ep.measEquiId and ep.deleted is null and ep.zipFlag = 0 and ep.replaceId<>0)tt where rn=1) isRepl -- пока можно только менять, если снимать, то убираем условие ep.replaceId<>0
';
EXEC sp_describe_first_result_set @query, null, 0;