MySQL BIT_AND is one of the Aggregate Functions, which performs Bitwise AND operation on all bits. This BIT_AND function first converts all decimal values into binary values and performs bitwise and operations on those binary values.
BIT_AND Syntax
The basic syntax of the BIT_AND Function in MySQL is as shown below:
SELECT BIT_AND (Expression) FROM [Source]
The Truth Table behind this Bit_And function is
x | y | x BIT_AND y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
MySQL BIT_AND Function Example
In this example, we are going to implement the BIT_AND function on different columns in a table. To demonstrate the same, we are going to use the dup employee 2 table data that we have shown below

The following MySQL statement finds the Bitwise AND values of Sales 1 and Sales 2 columns.
-- Example USE company; SELECT BIT_AND(Sales1), BIT_AND(Sales2) FROM dupemploy2;

x = 9 = 1001
y = 12 = 1100
and the Bitwise AND for the above bits is 1000 = 8
BIT_AND Group By Example
In this example, we are going to use the BIT_AND function along with the Group By clause. For this Aggregate Function example, We are going to use the below shown data

CODE
-- Example SELECT Profession, Yearly_Income ,bit_and(Yearly_Income) FROM company.dupcustomerdetails group by Profession;

Let me take the Example of the Developer Group
85000 = 10100110000001000
80000 = 10011100010000000
55000 = 01101011011011000
and the MySQL output is 0