Как проверить, является ли пятый бит значения флага 0 или 1, используя SQL-запрос? - PullRequest
2 голосов
/ 09 апреля 2019

Предположим, у меня есть столбец с именем flag в моей базе данных, который состоит из 8-битного двоичного числа с 8 отдельными флагами. Как мне найти пятый флаг, если он равен 1 или 0? И как мне обновить значения в этом 5-м бите, если я хочу?

1 Ответ

2 голосов
/ 09 апреля 2019

Вы можете использовать побитовую операцию & (и) для правильной маски

SELECT your_number & 1 
from dual 

, если возвращено 1 (истина), то последний бит равен 1, иначе 0

https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html

...