Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


12.12 ビット関数

表 12.16 ビット単位の関数

名前 説明
BIT_COUNT() 設定されているビット数を返します
& ビット単位の AND
~ ビットを反転します
| ビット単位の OR
^ ビット単位の XOR
<< 左シフト
>> 右シフト

MySQL では、演算子の最大範囲が 64 ビットになるように、ビット演算に BIGINT (64 ビット) 算術が使用されます。

  • |

    ビット単位の OR:

    mysql> SELECT 29 | 15;
            -> 31

    結果は符合なしの 64 ビット整数です。

  • &

    ビット単位の AND:

    mysql> SELECT 29 & 15;
            -> 13

    結果は符合なしの 64 ビット整数です。

  • ^

    ビット単位の XOR:

    mysql> SELECT 1 ^ 1;
            -> 0
    mysql> SELECT 1 ^ 0;
            -> 1
    mysql> SELECT 11 ^ 3;
            -> 8

    結果は符合なしの 64 ビット整数です。

  • <<

    longlong (BIGINT) 数値を左にシフトします。

    mysql> SELECT 1 << 2;
            -> 4

    結果は符合なしの 64 ビット整数です。値は 64 ビットに切り捨てられます。特に、シフト数が符号なし 64 ビット数値の幅以上の大きさの場合は、結果がゼロになります。

  • >>

    longlong (BIGINT) 数値を右にシフトします。

    mysql> SELECT 4 >> 2;
            -> 1

    結果は符合なしの 64 ビット整数です。値は 64 ビットに切り捨てられます。特に、シフト数が符号なし 64 ビット数値の幅以上の大きさの場合は、結果がゼロになります。

  • ~

    すべてのビットを反転します。

    mysql> SELECT 5 & ~1;
            -> 4

    結果は符合なしの 64 ビット整数です。

  • BIT_COUNT(N)

    引数 N で設定されているビットの数を返します。

    mysql> SELECT BIT_COUNT(29), BIT_COUNT(b'101010');
            -> 4, 3

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
  Posted by Chris Wagner on May 28, 2011
@Mark Cain.

What u just described is a reroll of FIND_IN_SET and ENUM.

Sign Up Login You must be logged in to post a comment.