Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 有没有一种方法可以运行快速的伪SQL查询来测试聚合函数,就像这样?_Sql Server 2008_Ssms - Fatal编程技术网

Sql server 2008 有没有一种方法可以运行快速的伪SQL查询来测试聚合函数,就像这样?

Sql server 2008 有没有一种方法可以运行快速的伪SQL查询来测试聚合函数,就像这样?,sql-server-2008,ssms,Sql Server 2008,Ssms,我意识到这可能是一个非常新的问题,我完全遗漏了一些东西,但我想使用MIN和字符串(在MSSQL中)进行测试: 但它告诉我: Msg 174,15级,状态1,第5行最小功能需要1 论点 现在这对我来说很有意义,但如果可能的话,我想做类似的事情 有没有一种方法可以在不使用特定表的情况下执行类似的操作 使用表变量怎么样 DECLARE @TABLE Table (str varchar(100)) INSERT @TABLE (str) VALUES ('d3d742ce-f12e-4402-9a0e

我意识到这可能是一个非常新的问题,我完全遗漏了一些东西,但我想使用
MIN
和字符串(在MSSQL中)进行测试:

但它告诉我:

Msg 174,15级,状态1,第5行最小功能需要1 论点

现在这对我来说很有意义,但如果可能的话,我想做类似的事情


有没有一种方法可以在不使用特定表的情况下执行类似的操作

使用表变量怎么样

DECLARE @TABLE Table (str varchar(100))
INSERT @TABLE (str) VALUES ('d3d742ce-f12e-4402-9a0e-8a05066f6bed')
INSERT @TABLE (str) VALUES ('03f8d7a7-9feb-4375-b7ff-04c187d46009')
INSERT @TABLE (str) VALUES ('1c180a55-ce67-4ab4-afe5-9d9907ed1c21')

SELECT MIN(str) FROM @TABLE

始终可以使用联合动态创建自己的派生表:

select min(MyCol)
from (
    select 'd3d742ce-f12e-4402-9a0e-8a05066f6bed' as MyCol
    union all select '03f8d7a7-9feb-4375-b7ff-04c187d46009'
    union all select '1c180a55-ce67-4ab4-afe5-9d9907ed1c21'
) as MyDerivedTable
在本例中,我使用的是
union all
,因为当您知道您的测试数据都是唯一的(它不会隐式地像unict那样运行)时,这会更快

同样的技术也可用于:

我用分号开头这条语句,因为如果您没有用分号终止上一条语句,SQL Server会抱怨

但是,这只在一定程度上有效,因为在不得不求助于之前,您只能在查询中使用256个表。

就是这样:(从SQL Server 2008开始工作)


酷-这真的很有帮助。但是有一件事——我没有这个数据库的写权限。无论如何让我试试,谢谢+1,这是我快速处理测试数据的首选方法,包括在这里尝试回答问题时。返回+1,我考虑的是一个派生表,但也经常抛出表变量。
select min(MyCol)
from (
    select 'd3d742ce-f12e-4402-9a0e-8a05066f6bed' as MyCol
    union all select '03f8d7a7-9feb-4375-b7ff-04c187d46009'
    union all select '1c180a55-ce67-4ab4-afe5-9d9907ed1c21'
) as MyDerivedTable
;with CTE as (
    select 'd3d742ce-f12e-4402-9a0e-8a05066f6bed' as MyCol
    union all select '03f8d7a7-9feb-4375-b7ff-04c187d46009'
    union all select '1c180a55-ce67-4ab4-afe5-9d9907ed1c21'
)
select min(MyCol)
from CTE
SELECT min(id) 
FROM (
VALUES 
('d3d742ce-f12e-4402-9a0e-8a05066f6bed'),
('03f8d7a7-9feb-4375-b7ff-04c187d46009'),
('1c180a55-ce67-4ab4-afe5-9d9907ed1c21')) AS guids(id)