Forudsat at alle positive heltal <2 milliarder, undgår denne løsning flere forespørgsler og dynamisk SQL. OPTION (RECOMPILE)
hjælper med at forhindre parametersniffing, men dette er muligvis ikke nødvendigt afhængigt af tabellens størrelse, dine parameterindstillinger og din "optimer til ad hoc-arbejdsbelastning"-indstilling.
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);