Я начну с фрагмента псевдокода:
CASE
WHEN [very long expression] > 1 THEN 1
ELSE [very long expression]
END
Можно ли избежать перезаписи всего выражения?
Я уже пытался создать свою собственную функцию:
CREATE FUNCTION fn_isLargerThanOne(@v FLOAT)
RETURNS FLOAT
AS BEGIN
IF(@v > 1)
BEGIN
SET @v = 1
END
RETURN @v
END
Но использование этой функции в моем запросе замедляет ее с 2 до 11 с.Есть идеи?