Чи є спосіб отримати один біт (або bool) з бітового поля в mysql?
Єдине рішення, яке я придумав, це використовувати наступне: Я хочу, щоб бітове значення в позиції три.
SELECT bit_count(bin(column) & b"100") AS bitValue FROM table;
Вихідні дані цього запиту є або одним, або aнуль. Але це не виглядає так приємно. Чи є кращий спосіб отримати бітове значення в конкретній позиції в бітовому полі? Читання бітових значень буде зроблено сильно на моєму веб-додатку, ви думаєте, що спосіб отримання значення, яке я використовував вище буде проблемою для продуктивності? я маю на увазі як біт-кількість, так і оператор BIN () і "і".
Я шукаю щось на кшталт:
SELECT column(3) FROM table;
Дякую за читання!
Маттіас.
Відповіді:
2 для відповіді № 1Якщо ви турбуєтеся про продуктивність читання ібіт ви зацікавлені в фіксованому, спробуйте витягти біт і вставити його в булевий колонку. Якщо біт, який ви намагаєтеся витягти, є динамічним, я думаю, що ваші рішення є оптимальними.