Chapter 96. Other Functions

Table of Contents

Bit Functions
Encryption Functions
Information Functions
Miscellaneous Functions

Bit Functions

MySQL uses BIGINT (64-bit) arithmetic for bit operations, so these operators have a maximum range of 64 bits.

| Bitwise OR
    mysql> SELECT 29 | 15;
            -> 31
    
The result is an unsigned 64-bit integer.
& Bitwise AND
    mysql> SELECT 29 & 15;
            -> 13
    
The result is an unsigned 64-bit integer.
^ Bitwise XOR
    mysql> SELECT 1 ^ 1;
            -> 0
    mysql> SELECT 1 ^ 0;
            -> 1
    mysql> SELECT 11 ^ 3;
            -> 8
    
The result is an unsigned 64-bit integer. XOR was added in version 4.0.2.
<< Shifts a longlong (BIGINT) number to the left:
    mysql> SELECT 1 << 2;
            -> 4
    
The result is an unsigned 64-bit integer.
>> Shifts a longlong (BIGINT) number to the right:
    mysql> SELECT 4 >> 2;
            -> 1
    
The result is an unsigned 64-bit integer.
~ Invert all bits:
    mysql> SELECT 5 & ~1;
            -> 4
    
The result is an unsigned 64-bit integer.
BIT_COUNT(N) Returns the number of bits that are set in the argument N:
    mysql> SELECT BIT_COUNT(29);
            -> 4