Вы не можете. Вам нужно использовать выражение case
:
select (case @interval
when 'year' then datediff(year, mydate, getdate())
when 'month' then datediff(month, mydate, getdate())
when 'day' then datediff(day, mydate, getdate())
end)
Я должен сказать. Вы могли бы использовать динамический SQL, но это обычно неоправданно сложно для этого типа вычислений.