En supposant que tous les entiers positifs <2 milliards, cette solution évite les requêtes multiples et le SQL dynamique. OPTION (RECOMPILE)
aide à contrecarrer la détection des paramètres, mais cela peut ne pas être nécessaire en fonction de la taille de la table, de vos paramètres de paramétrage et de votre paramètre "optimiser pour la charge de travail 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);