Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn động trong SQL Server

Có, sử dụng câu lệnh CASE:

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

Liệu đây có phải là một ý tưởng hay hay không hoàn toàn là một câu hỏi khác. Bạn nên sử dụng các tên tốt hơn Col_1, Col_2, v.v.

Bạn cũng có thể sử dụng phương pháp thay thế chuỗi, theo đề xuất của những người khác. Tuy nhiên, đó là lựa chọn cuối cùng vì nó có thể mở mã của bạn trước các cuộc tấn công tiêm 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. Độ dài tên cơ sở dữ liệu tối đa trong SQL Server

  2. Cách sử dụng thuộc tính IDENTITY () trong SQL Server

  3. SQL Server - INSERT không thành công do 'ARITHABORT'

  4. Bộ lập lịch công việc SSIS không thành công, nhưng chạy tốt trong BIDS và trong Dịch vụ tích hợp MSDB

  5. Cách kiểm tra xem một cột được tính toán có "Cố định" trong SQL Server hay không