На SQL Server, как найти максимальное или минимальное значение из нескольких переменных

Я только что узнал, что функция MAX() В SQL работает только на столбцах.

есть ли аналогичная функция, которую я могу использовать, чтобы найти максимальное значение из, например, этих четырех переменных?

SET @return = MAX(@alpha1, @alpha2, @alpha3, @alpha4)

или я должен сначала поместить их в столбец (и, таким образом, сначала создать таблицу...;-( )?

в отношении

редактировалось lumpi

1 ответов


для этого нет встроенной функции в T-SQL, но вы можете использовать следующее

SELECT @result = MAX(alpha)
FROM   (SELECT @alpha1
        UNION ALL
        SELECT @alpha2
        UNION ALL
        SELECT @alpha3) T(alpha);  

или (SQL Server 2008+)

SELECT @result = MAX(alpha)
FROM  (VALUES(@alpha1),
             (@alpha2),
             (@alpha3)) T(alpha);