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

Trong SQL, làm cách nào để tôi có thể chia các giá trị trong tổng số mặt nạ bit thành một chuỗi được phân tách bằng dấu phẩy

Điều này sẽ hoạt động:

SELECT id, name, bitMaskValue,
    SUBSTRING(
            CASE WHEN bitMaskValue & 1 = 1 THEN ',1' ELSE '' END
          + CASE WHEN bitMaskValue & 2 = 2 THEN ',2' ELSE '' END
          + CASE WHEN bitMaskValue & 4 = 4 THEN ',4' ELSE '' END
          + CASE WHEN bitMaskValue & 8 = 8 THEN ',8' ELSE '' END
        , 2, 64) As [values]
FROM yourTable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tải lên tài liệu trong sql server 2008 bằng asp.net C #

  2. SQL hàng đến cột

  3. Entity Framework 6 GUID làm khóa chính:Không thể chèn giá trị NULL vào cột 'Id', cột 'FileStore' của bảng không cho phép giá trị rỗng

  4. CTE đệ quy với bộ bảo mật duy nhất phải có giá trị trong một mỏ neo

  5. Thêm một hàng tóm tắt với tổng số