sql >> Databáze >  >> RDS >> Sqlserver

předání operandu jako parametru SQL

Za předpokladu, že všechna kladná celá čísla jsou <2 miliardy, toto řešení se vyhne vícenásobným dotazům a dynamickému SQL. OPTION (RECOMPILE) pomáhá mařit sniffování parametrů, ale to nemusí být nutné v závislosti na velikosti tabulky, vašem nastavení parametrizace a nastavení „optimalizace pro ad hoc zátěž“.

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. mysql aktualizuje více sloupců se stejným now()

  2. Vysvětlení operátora MariaDB INTERSECT

  3. Mohu procházet proměnnou tabulky v T-SQL?

  4. Nepodporovaná možnost konfigurace pro services.db:'images'