ビット単位の操作を効果的に使用して、2番目の値が最初の値のスーパーセットである2つの値を比較できますか?ビット単位の操作と値の比較
属性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に有効ですか?
更新:RDBMSはSQL SERVER 2008 R2です。私はデータベースの格納された属性を比較しようとしています。私は、システムプロファイルがユーザーのスーパーセットである「システムプロファイル」への「ユーザープロファイル」の価値を成功と比較できるようにしたいと考えています。ユーザープロファイルはシステムプロファイルと一致する必要があります。ユーザーのビットが1101
に設定されている場合は、システムビット1101
または1001
または1100
などと一致します。SQLステートメントのWHERE句の両方の設定を一致させるには、システムプロファイルが必要です。
意味 "の成功に値を比較する" んでしょうか? –