AND operation on an integer expression, ignoring null input values. Bitwise AND compares two bits and returns 1 if both are 1, and 0 otherwise.
Numbers are represented in two’s complement, a binary method for signed integers as follows:
- Positive numbers are represented in standard binary form, while negative numbers are derived by inverting the bits of their positive counterpart and adding
1. - A leftmost bit of
0indicates a positive number, while1indicates a negative number.
Syntax
DISTINCT has no effect on the function’s result.
Parameters
| Parameter | Description | Supported input types |
|---|---|---|
<expression> | The expression used to compute the result. | INT, BIGINT |
<condition> | An optional boolean expression to filter rows used in aggregation | BOOL |
Return Types
TheBIT_AND function returns a result of either type INT or BIGINT, depending on the type of the input.
Examples
Example The following code example performs a bitwiseAND operation across all integers ranging from 1 to 3:
0. In a 4-bit system, the binary representation of integers from 1 to 3 is:
1->00012->00103->0011
AND function returns 0 because there is no bit position where all three integers have a 1. The bitwise AND of 0001 and 0010 is 0000, which equals 0. The bitwise AND between 0000 and 0011 is 0000, or 0.
Example
The following code performs a bitwise AND operation across two rows in column a that contain the values -1 and 3, respectively:
3. In a 4-bit system, the binary representation of -1 and 3 is:
-1->11113->0011
AND of 1111 and 0011 is 0011 because the last two positions have 1 in both values.