sql >> Database >  >> RDS >> Sqlserver

een operand doorgeven als een sql-parameter

Uitgaande van alle positieve gehele getallen <2 miljard, vermijdt deze oplossing meerdere query's en dynamische SQL. OPTION (RECOMPILE) helpt het snuiven van parameters tegen te gaan, maar dit is misschien niet nodig, afhankelijk van de grootte van de tabel, uw parameterinstellingen en uw instelling 'optimaliseren voor ad-hocwerkbelasting'.

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);


  1. Invoegen in een MySQL-tabel of bijwerken indien aanwezig

  2. Query om berichten te vinden met een exacte set tags (veel-op-veel-relatie)

  3. Java-beveiligingsuitzondering:afdichtingsschending tijdens het proberen verbinding te maken met de database

  4. PHP-kalender met terugkerende evenementen uit de MySQL-database