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

Динамична заявка в SQL Server

Да, използвайки оператор CASE:

SELECT CASE @MyVariable
       WHEN 1 THEN [Col_1]
       WHEN 2 THEN [Col_2]
       ...
       WHEN 10 THEN [Col_10]
       END

Съвсем друг въпрос е дали това е добра идея. Трябва да използвате по-добри имена от Col_1, Col_2 и т.н.

Можете също така да използвате метод за заместване на низове, както е предложено от други. Това обаче е опция в краен случай, защото може да отвори кода ви за атаки с инжектиране на sql.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изисква се реализация на cte за йерархични данни

  2. Съхранявайте изображението в базата данни и го извличайте

  3. Има ли LastIndexOf в SQL Server?

  4. име или номер на колона ... не съответства на дефиницията на таблица в таблица, създадена от скрипт за създаване. Показва се грешка при вмъкване на редове от една таблица в друга

  5. SQL заявка за избор на обекти от таблица с хронология на промените