Mam wartość bitmask przechowywane jako int w sql. Chciałbym zmienić tę wartość na rozdzieloną przecinkami listę wartości zawartych w wartości maski bitowej.W SQL, w jaki sposób można podzielić wartości w masce bitmask razem na przecinek rozdzielany przecinkami
Tak więc, na przykład, wyniki mogą wyglądać tak:
id name bitMaskValue values
----------------------------------------
1 Bob 5 1,4
2 Mary 13 1,4,8
3 Stan 11 1,2,8
Czy istnieje sposób do osiągnięcia tego celu w sql?
Jest to SQL Server 2008.
To pytanie nie wykazuje żadnego wysiłku badawczego. Ważne jest, aby ** wykonać zadanie domowe **. Powiedz nam, co znalazłeś i dlaczego *** nie spełnia Twoich potrzeb. To pokazuje, że poświęciłeś czas, aby spróbować pomóc sobie, to ratuje nas od powtarzania oczywistych odpowiedzi, a przede wszystkim pomaga ci uzyskać bardziej szczegółową i trafną odpowiedź. [FAQ] (http://stackoverflow.com/questions/how-to-ask). – Kermit
Tylko FYI, naprawdę nadużywasz swojego RDBMS. Bazy danych mają działać * naprawdę dobrze * z kluczami obcymi. Mam nadzieję, że przed dodaniem maski bitowej do swoich rekordów masz dość specyficzne wymagania, a nie normalizacją danych i użyciem typowej tabeli skrzyżowań. – meagar
Całkowicie się z tobą zgadzam @meagar. W moim przypadku mam niektóre starsze dane (bitMaskValue), które właśnie próbuję znormalizować i wypchnąć do innego źródła, które ma wartości rozdzielane przecinkami. Pomyślałem, że to interesująca zagadka i odkąd nie znalazłem żadnych rozwiązań SQL tylko przez Google lub SO, zastanawiałem się, jakie dobre rozwiązania mogą mieć ludzie. – Jimtronic