Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

предаване на операнд като sql параметър

Ако приемем, че всички положителни цели <2 милиарда, това решение избягва множество заявки и динамичен SQL. OPTION (RECOMPILE) помага за осуетяване на снифинг на параметри, но това може да не е необходимо в зависимост от размера на таблицата, настройките ви за параметризиране и настройката ви „оптимизиране за 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. Разделянето води до текуща заявка за общи суми

  2. Вече е добавен елемент със същия ключ. Грешка в SSRS при опит за задаване на набор от данни

  3. CRUD работа с ASP.NET Core MVC, Entity Framework Core и SQL Server

  4. Експортирайте xml данни с помощта на BCP команда в SQL Server

  5. Курсор на SQL Server - преминаване през множество сървъри и изпълнение на заявка