Ich habe einen Bitmask-Wert als int in SQL gespeichert. Ich möchte diesen Wert in eine kommagetrennte Liste der im Bitmaskenwert enthaltenen Werte umwandeln.In SQL, wie kann ich die Werte in einem Bitmask insgesamt in eine durch Kommas getrennte Zeichenfolge teilen
So zum Beispiel könnten die Ergebnisse wie so aussehen:
id name bitMaskValue values
----------------------------------------
1 Bob 5 1,4
2 Mary 13 1,4,8
3 Stan 11 1,2,8
Gibt es eine Möglichkeit, dies in einer SQL-Anweisung zu erreichen?
Dies ist SQL Server 2008.
Diese Frage keine Forschungsanstrengungen nicht zeigen. Es ist wichtig, ** deine Hausaufgaben zu machen **. Sagen Sie uns, was Sie gefunden haben und *** warum *** es nicht Ihren Bedürfnissen entspricht. Dies zeigt, dass Sie sich die Zeit genommen haben, sich selbst zu helfen, es rettet uns davor, offensichtliche Antworten zu wiederholen, und vor allem hilft es Ihnen, eine spezifischere und relevantere Antwort zu bekommen. [FAQ] (http://stackoverflow.com/questions/how-to-ask). – Kermit
Nur ein FYI, Sie missbrauchen wirklich Ihre RDBMS. Datenbanken sollen wirklich gut mit Fremdschlüsseln funktionieren. Ich hoffe, Sie hatten einige ziemlich spezielle Anforderungen, bevor Sie Ihrem Datensatz eine Bitmaske hinzugefügt haben, anstatt die Daten ordnungsgemäß zu normalisieren und eine typische Junction-Tabelle zu verwenden. – meagar
Ich stimme dir völlig zu @meagar. In meinem Fall habe ich einige Legacy-Daten (den bitMaskValue), die ich gerade zu normalisieren versuche und an eine andere Quelle weiterleiten möchte, die kommagetrennte Werte verwendet. Ich dachte, es wäre ein interessantes Puzzle und da ich keine sql-only-Lösungen über Google oder SO fand, habe ich mich gefragt, welche guten Lösungen die Leute haben könnten. – Jimtronic