我想写一个这样的查询:
SELECT o.OrderId, MAX(o.NegotiatedPrice, o.SuggestedPrice)
FROM Order o
Run Code Online (Sandbox Code Playgroud)
但这不是这个MAX功能的工作方式,对吧?它是一个聚合函数,因此它需要一个参数,然后返回所有行的MAX.
有谁知道怎么做我的方式?
在Excel中,有一个名为"MAX"的函数接受数字并返回集合中最大的数字.T-SQL中是否有一个复制此功能的功能?我找不到一个,我写了一个为我做的UDF,但我觉得值得问.
这是我一直在使用的功能:
CREATE FUNCTION dbo.LargerOf
(
-- Add the parameters for the function here
@First FLOAT,
@Second FLOAT
)
RETURNS FLOAT
AS
BEGIN
DECLARE @Result FLOAT
IF @First > @Second
SET @result = @First
ELSE
SET @Result = @Second
RETURN @Result
END
GO
Run Code Online (Sandbox Code Playgroud)
我不希望任何运气,但我认为我至少要问,而不是将我的功能转移到一大堆新服务器上.谢谢!