Ниже приведен мой оператор CASE
, который использует тот же вызов функции в CASE
и ELSE
части.
SELECT
CASE dbo.MyFunction(T.Id)
WHEN 'Some Value' THEN 'Got Some Value'
WHEN 'Other Value' THEN 'Got Other Value'
ELSE dbo.MyFunction(T.Id)
END
FROM SomeTable T
Есть ли способ сохранить значение, возвращаемое при первом вызове функции, в части CASE
, чтобы позднее можно было использовать это значение в части ELSE
?
На самом деле моя функция содержит несколько операторов SELECT
, и я не хочу выполнять эти операторы дважды.