Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak w SQL mogę podzielić wartości w sumie bitów na ciąg rozdzielany przecinkami?

To powinno działać:

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. Czy można zmienić typ danych Data w Sql Server?

  2. Czy muszę używać bloku try..catch i jawnego wycofywania w procedurze SQL Server?

  3. Generuj losowe dane testu czasu SQL Server 2008

  4. Jak wykluczyć rekordy z określonymi wartościami w sql select

  5. Dynamiczne wykonywanie SQL w SQL Server