Вам нужно было бы сделать User-Defined Function
, если вы хотите, чтобы синтаксис был похож на ваш пример, но вы могли бы делать то, что вы хотите, встроенные, довольно легко с помощью оператора CASE
, как говорили другие .
UDF
может выглядеть примерно так:
create function dbo.InlineMax(@val1 int, @val2 int)
returns int
as
begin
if @val1 > @val2
return @val1
return isnull(@val2,@val1)
end
... и вы бы назвали это так ...
SELECT o.OrderId, dbo.InlineMax(o.NegotiatedPrice, o.SuggestedPrice)
FROM Order o