Ho un valore di maschera di bit memorizzato come int in sql. Mi piacerebbe trasformare quel valore in un elenco separato da virgole dei valori contenuti nel valore della maschera di bit.In SQL, come posso dividere i valori in un totale di maschera di bit in una stringa delimitata da virgole
Così, per esempio, i risultati potrebbero sembrare così:
id name bitMaskValue values
----------------------------------------
1 Bob 5 1,4
2 Mary 13 1,4,8
3 Stan 11 1,2,8
C'è un modo per ottenere questo risultato in una dichiarazione di sql?
Si tratta di SQL Server 2008.
Questa domanda non mostra alcuna attività di ricerca. È importante ** fare i compiti **. Dicci cosa hai trovato e *** perché *** non ha soddisfatto le tue esigenze. Questo dimostra che ti sei preso del tempo per cercare di aiutare te stesso, ci salva dal ribadire risposte ovvie e soprattutto ti aiuta a ottenere una risposta più specifica e pertinente. [FAQ] (http://stackoverflow.com/questions/how-to-ask). – Kermit
Solo una FYI, stai davvero abusando del tuo RDBMS. I database devono funzionare * molto bene * con chiavi esterne. Spero che abbiate dei requisiti piuttosto specifici prima di aggiungere una maschera di bit al vostro record, piuttosto che normalizzare correttamente i dati e utilizzare una tabella di giunzione tipica. – meagar
Sono completamente d'accordo con te @meagar. Nel mio caso, ho alcuni dati legacy (il bitMaskValue) che sto solo cercando di normalizzare e inviare ad un'altra fonte che prende valori delimitati da virgole. Ho pensato che fosse un puzzle interessante e dal momento che non stavo cercando soluzioni SQL solo tramite google o SO, mi sono chiesto quali buone soluzioni potrebbero avere le persone. – Jimtronic