/ / pobierz jeden bit po indeksie z pola bitowego, mysql - mysql, bit, pola bitowe

pobierz jeden bit po indeksie z pola bitowego, mysql - mysql, bit, pola bitowe

Czy istnieje sposób, aby uzyskać jeden bit (lub bool) z pola bitowego w mysql?

Jedynym rozwiązaniem, jakie wymyśliłem, jest użycie następujących opcji: Chcę wartość bitu na pozycji trzeciej.

SELECT bit_count(bin(column) & b"100") AS bitValue FROM table;

Dane wyjściowe z tego zapytania to jeden lub jedenzero. Ale to nie wygląda tak ładnie. Czy istnieje lepszy sposób na uzyskanie wartości bitu w określonej pozycji w polu bitowym? Czytanie wartości bitów byłoby bardzo trudne w mojej aplikacji internetowej, czy uważasz, że sposób uzyskania wartości, której użyłem powyżej, byłby problemem dla wydajności? mam na myśli zarówno bit_count, jak i operator BIN () oraz „i”.

Szukam czegoś takiego jak:

SELECT column(3) FROM table;

Dziękuje za przeczytanie!

Mattias.

Odpowiedzi:

2 dla odpowiedzi № 1

Jeśli martwisz się o wydajność odczytu inaprawiono bit, który Cię interesuje, spróbuj wyodrębnić bit i wstaw go do kolumny boolowskiej. Jeśli fragment, który próbujesz wyodrębnić, jest dynamiczny, myślę, że twoje rozwiązania są optymalne.