Можно ли эффективно использовать побитовые операции для сравнения двух значений, где второе значение является надмножеством первого?
Если у меня есть атрибуты 1, 2 и 3 в качестве ON, мне нужно сопоставить это сзначение, в котором атрибуты 1 и 2 могут иметь значение ON или OF, а значение 3 должно быть ON.
enum user_attribs {
attrib1 = 0, attrib2 = 1, attrib3 = 2
}
enum spt_attribs {
attrib1 = 0, attrib2 = 1, attrib3 = 2
}
user_attribs u1 = attrib1 & attrib2 & attrib3;
spt_attribs s1 = attrib1 & attrib2 | attrib3;
Будет ли u1 = s1
допустимым в SQL с указанным выше кодом?
ОБНОВЛЕНИЕ: СУБДтакое SQL SERVER 2008 R2.Я пытаюсь сравнить сохраненные атрибуты в базе данных.Я хотел бы иметь возможность сравнить с успехом значение «пользовательского профиля» с «системным профилем», где системный профиль является надмножеством пользователя, например, профиль пользователя должен соответствовать системному профилю.Если биты пользователя установлены на 1101
, это будет соответствовать системному биту 1101
или 1001
или 1100
и т. Д. Мне нужно, чтобы системный профиль совпадал с обоими настройками в предложении «WHERE» инструкции SQL..