2016-07-19 7 views
0

h2データベースのビットマスクを比較する方法はありますか?Comparing two bitmasks in SQL to see if any of the bits matchで尋ねられているのと同様ですか?H2データベースのビットマスクを比較します

異なる役割を持つユーザーの表があるため、プログラマーであるすべてのユーザーを選択したいと考えています。

 
    User Table 
    ---------- 
    ID Username Roles 
    1 Dave  6 
    2 Charlie 2 
    3 Susan  4 
    4 Nick  1 

    Roles Table 
    ----------- 
    ID Role 
    1 Admin 
    2 Programmer 
    4 Designer 

選択は、私がBIT_AND関数はH2であることがわかっているが、それを使用する方法がわからない

SELECT * FROM UserTable WHERE Roles & 2 != 0

のようなものでなければなりません。

+0

のようになります、私は必要な数の行を使用してロールにユーザーをリンク 'UserRoles'テーブルをお勧めします、というよりデータを符号化し、それをデコードする方法を動作するようになるだろう。 –

答えて

0

BITAND関数とBIT_AND関数が混乱しました。 select文は、一般的には

SELECT * FROM UserTable WHERE BITAND(Roles, 2) != 0
関連する問題