SQL - 整数型 - ビットの検出 質問する

SQL - 整数型 - ビットの検出 質問する

SQL では、整数列型 (MySQL) で特定のビットがオンになっているかどうかを検出したいのですが。

これについてどうしたらいいでしょうか?

基本的に、ビットがオンになっているかどうかを検出し、オンになっている場合は無視します。

私は現在次のようなものを使用しています:

WHERE (column & 2) != 2

ベストアンサー1

3 番目のビットをチェックするとします...

SELECT bits & 8 = 8 FROM table;

これは、列「ビット」の各行について、問題のビット(この場合は 3 番目)がオンかオフかを示すバイナリ(1 または 0)を返します。

x 番目のビットに 8 ではなく 2^x を使用します。

例えば、5番目のビットをチェックするには2^5 = 32を使用します。

SELECT bits & 32 = 32 FROM table;

しかし、これは不必要に複雑です。複数の列でブール値を使用するだけで、作業がはるかに簡単になります。

おすすめ記事