Fonction Max dans SQL Server qui prend deux valeurs comme Math.Max dans .NET

Fonction Max dans SQL Server qui prend deux valeurs comme Math.Max dans .NET

Vous devrez créer une User-Defined Function si vous souhaitez avoir une syntaxe similaire à votre exemple. Vous pourriez faire ce que vous voulez faire, en ligne, assez facilement avec une expression CASE, comme d’autres l’ont dit.

La UDF pourrait ressembler à ceci :

create function dbo.InlineMax(@val1 int, @val2 int)
returns int
as
begin
  if @val1 > @val2
    return @val1
  return isnull(@val2,@val1)
end

… et vous l’appelleriez ainsi …

SELECT o.OrderId, dbo.InlineMax(o.NegotiatedPrice, o.SuggestedPrice)
FROM Order o