Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

przekazanie operandu jako parametru sql

Zakładając, że wszystkie dodatnie liczby całkowite <2 miliardy, rozwiązanie to pozwala uniknąć wielu zapytań i dynamicznego SQL. OPTION (RECOMPILE) pomaga udaremnić podsłuchiwanie parametrów, ale może to nie być konieczne w zależności od rozmiaru tabeli, ustawień parametryzacji i ustawienia „optymalizacji pod kątem obciążenia 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);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak włączyć/wyłączyć dostęp do danych w SQL Server (przykład T-SQL)

  2. SQL zmienia dane tabeli w bardziej zwartą formę

  3. Czy ograniczenie Check może odnosić się do innej tabeli?

  4. Znajdź zablokowaną tabelę w SQL Server

  5. Migawki bazy danych programu SQL Server -3