【发布时间】:2019-03-19 12:45:06
【问题描述】:
我正在创建一些文档,我需要在其中指定应从存储过程返回的数据类型。
我正在使用的示例 sproc 正在返回一个聚合列 - 例如使用 COUNT();
DECLARE @mytable TABLE (Id BIGINT, [Description] nvarchar(max), GroupId INT)
INSERT INTO @MyTable VALUES (1, 'Value 1.1', 1)
INSERT INTO @MyTable VALUES (2, 'Value 1.2', 1)
INSERT INTO @MyTable VALUES (3, 'Value 1.3', 1)
INSERT INTO @MyTable VALUES (4, 'Value 2.1', 2)
INSERT INTO @MyTable VALUES (5, 'Value 2.2', 2)
INSERT INTO @MyTable VALUES (6, 'Value 2.3', 2)
SELECT GroupId, Count(Id) as 'Count'
FROM @mytable
GROUP BY GroupId
COUNT() 的返回类型是什么?
【问题讨论】:
-
你检查documentation了吗?它确实告诉你。
-
当文档没有为您提供帮助时,
SQL_VARIANT_PROPERTY(<expression>, 'BaseType')可以在运行时告诉您任何 T-SQL 表达式的类型。还有sys.sp_describe_first_result_set。 -
就像 Jeroen 已经提到的,试试这个
SELECT GroupId, Count(Id) as 'Count', SQL_VARIANT_PROPERTY(Count(Id), 'BaseType') -
为什么要问这个问题?您是否遇到问题或意外行为?
-
@MarkCooper 在这种情况下,首先要查看文档。
标签: sql-server tsql