Ако приемем, че всички положителни цели <2 милиарда, това решение избягва множество заявки и динамичен SQL. OPTION (RECOMPILE)
помага за осуетяване на снифинг на параметри, но това може да не е необходимо в зависимост от размера на таблицата, настройките ви за параметризиране и настройката ви „оптимизиране за ad hoc натоварване“.
WHERE [Amount] BETWEEN
CASE WHEN @operand LIKE '<%' THEN 0
WHEN @operand = '>' THEN @operant + 1
ELSE @operant END
AND
CASE WHEN @operand LIKE '>%' THEN 2147483647
WHEN @operand = '<' THEN @operant - 1
ELSE @operant END
OPTION (RECOMPILE);