Запрос MySQL с битом и оператором
У меня есть база данных, которая сохраняет пользовательские настройки в двоичном формате.
Chips = 1;
Pizza = 2;
Chinese = 4;
Например, если пользователь любит фишки, то его предпочтение будет равно 1. Если они любят пиццу, их предпочтение будет 2. Если нравится и то и другое, их предпочтение будет 3. Если они любят китайскую еду и чипсы, но не пиццу, то их предпочтение будет 5.
Мне нужно создать запрос mysql, где я могу выбрать всех пользователей, которые не любят пиццу. Я попытался решить эту проблему, но я нахожу отсутствие документов для использование bit и в предложении where:
Логически это имеет смысл для меня, но это неправильно:
SELECT * FROM `User` WHERE BIT_AND(preferences,2) != 2;
1 ответ:
SELECT * FROM `User` WHERE preferences & 2 = 0
Sqlfiddle demo