SELECT x.* INTO TMP1
FROM ( SELECT TOP 1 /* rest of your query expression here */ ) as x;
SELECT o.name AS obj_name, TYPE_NAME(c.user_type_id) AS type_name, c.*
FROM sys.objects AS o
JOIN sys.columns AS c ON o.object_id = c.object_id
WHERE o.name = 'TMP1';
DROP TABLE TMP1;
--Microsoft SQL Server 2019
DECLARE @query nvarchar(max) = '
SELECT TOP (1000) [id]
,[name]
,[lastname]
,[age]
,[createdate]
, cast(createdate as date) as data_date
FROM [Z_Test].[dbo].[userDemo]
';
EXEC sp_describe_first_result_set @query, null, 0;