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

Tôi cần chuyển tên cột bằng cách sử dụng biến trong câu lệnh select trong Thủ tục lưu trữ nhưng tôi không thể sử dụng truy vấn động

Một cách để thực hiện việc này mà không cần sử dụng sql động là sử dụng câu lệnh CASE

Nhưng điều này thật xấu xa

SELECT EPV.EmployeeCode, case @RateOfEmployee  when 'RateOfEmployee' then RateOfEmployee
when 'X' then X 
..
end , case @RateOfEmployer  when 'RateOfEmployer' then RateOfEmployer
when 'Y' then Y
..
end 
FROM [HR_EmployeeProvisions] EPV

Bạn phải kiểm tra tất cả các cột trong CASE tuyên bố.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ mục nhóm nên được đặt trên cột nào?

  2. Chuyển đổi tên tháng thành số tháng trong SQL Server

  3. String_agg cho SQL Server trước năm 2017

  4. Tạo khóa chính tổng hợp trong SQL Server

  5. Trả lại số hàng bị ảnh hưởng bởi câu lệnh UPDATE