Supponendo che tutti gli interi positivi <2 miliardi, questa soluzione evita query multiple e SQL dinamico. OPTION (RECOMPILE)
aiuta a contrastare lo sniffing dei parametri, ma ciò potrebbe non essere necessario a seconda delle dimensioni della tabella, delle impostazioni di parametrizzazione e dell'impostazione "ottimizza per carico di lavoro 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);