sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan kan jeg i SQL opdele værdierne i en bitmask-total i en kommasepareret streng

Dette burde virke:

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. Oracle Apex 5 - Sidefodsbjælke som den i App Builder

  2. Oracle-database:Hvordan læser man en BLOB?

  3. MySQL:Alle tabeller OK, men stadig FEJL 1577 (systemtabeller brugt af Event Scheduler blev fundet beskadiget)

  4. Sådan beregnes forskellen mellem to datoer i SQLite