PostgreSQL Mathematical Operators
Mathematical Operators
PostgreSQL provided many Mathematical operators for common mathematical conventions. The bitwise operators can be used only with the integer data types.
List of Mathematical Operators
| Operators | Description | Example | Output |
|---|---|---|---|
| + | Addition | 5 + 8 | 13 |
| - | Subtraction | 6 - 9 | -3 |
| * | Multiplication | 5 * 8 | 40 |
| / | Division | 15 / 3 | 5 |
| % | Modulo ( Remainder ) | 15 % 2 | 1 |
| ^ | Exponentiation | 4.0 ^ 2.0 | 16 |
| | / | Square Root | | / 16 | 4 |
| | | / | Cube Root | | | / 27 | 3 |
| ! | Factorial | ! 6 | 720 |
| ! ! | Factorial ( with prefix operator) | ! ! 6 | 720 |
| @ | Absolute Value | @ -15.07 | 15.07 |
| & | Bitwise AND | 53 & 38 | 36 |
| | | Bitwise OR | 53 | 38 | 55 |
| # | Bitwise XOR | 53 # 38 | 19 |
| ~ | Bitwise NOT | ~ 38 | -39 |
| << | Bitwise shift left | 25 << 2 | 100 |
| >> | Bitwise shift right | 120 >> 3 | 15 |
PostgreSQL Plus ( + ) operator example
If we want to add two numbers, the following SQL can be used.
SQL
Code:
SELECT 5+8 AS "Addition";
Output

PostgreSQL Minus ( - ) operator example
If we want to subtract two numbers, the following SQL can be used.
SQL
Code:
SELECT 6-9 AS "Subtraction";
Output:

PostgreSQL Multiplication ( * ) operator example
If we want to multiply two numbers, the following SQL can be used.
SQL
Code:
SELECT 5 * 8 AS "Multiplication";
Output:

PostgreSQL Division ( / ) operator example
If we want to division two numbers, the following SQL can be used.
SQL
Code:
SELECT 15 / 3 AS "Division";
Output:

PostgreSQL Modulo ( % ) operator example
If we want to get the remainder of a division by two numbers, the following SQL can be used.
SQL
Code:
SELECT 15 % 2 AS "Remainder";
Output:

PostgreSQL Exponentiation ( ^ ) operator example
If we want to get the exponentiation of a number powered by another number, the following SQL can be used.
SQL
Code:
SELECT 4.0 ^ 2.0 AS "Exponentiation";
Output:

PostgreSQL Square Root ( |/ ) operator example
If we want to get the square root of a number, the following SQL can be used.
SQL
Code:
SELECT |/16 AS "Square Root";
Output:

PostgreSQL Cube Root ( | | / ) operator example
If we want to get the cube root of a number, the following SQL can be used.
SQL
Code:
SELECT ||/27 AS "Cube Root";
Output:

PostgreSQL Factorial (!) operator example
If we want to get the factorial of a number, the following SQL can be used.
SQL
Code:
SELECT 6! AS "Factorial";
Output:

PostgreSQL Factorial(with prefix) (! !) operator example
If we want to get the factorial of a number with factorial prefix operator, the following SQL can be used.
SQL
Code:
SELECT !!6 AS "Factorial ( with prefix )";
Output

PostgreSQL Absolute Value ( @ ) operator example
If we want to get the absolute value of a number, the following SQL can be used.
SQL
Code:
SELECT @ -15.07 AS "Absolute Value";
Output:

PostgreSQL Bitwise AND ( & ) operator example
The PostgreSQL Bitwise AND ( & ) operator compares corresponding bits for each operand and produces a 1 when both bits are 1 otherwise it returns 0.
SQL
Code:
SELECT 53 & 38 AS "Bitwise AND";
Output:

Pictorial representation of PostgreSQL Bitwise AND ( & ) operator

PostgreSQL Bitwise OR ( | ) operator example
The PostgreSQL Bitwise OR ( | ) operator compares corresponding bits for each operand and produces a 1 when either or both bits are 1 otherwise it returns 0.
SQL
Code:
SELECT 53 | 38 AS "Bitwise OR";
Output:

Pictorial representation of PostgreSQL Bitwise OR ( | ) operator

PostgreSQL Bitwise XOR ( # ) operator example
The PostgreSQL Bitwise XOR ( # ) operator is similar to OR operator. It compares corresponding bits for each operand and produces a 1 when either but not both bits is 1 otherwise it returns 0.
SQL
Code:
SELECT 53 # 38 AS "Bitwise XOR";
Output:

Pictorial representation of PostgreSQL Bitwise XOR ( # ) operator
PostgreSQL Bitwise NOT ( ~ ) operator example
The PostgreSQL Bitwise NOT ( ~ ) operator is a unary operator. It produces a toggled result, that is all 0's converted to 1 and all 1's are converted to 0.
SQL
Code:
SELECT ~38 AS "Bitwise NOT";
Output:

PostgreSQL Bitwise Left Shift ( << ) operator example
The left shift(<<) operator shifts the bits in the first operand to the left by n bits, where n is the second operand. The left shift by n bits is similar to multiply the first operand by 2 to the power n.
SQL
Code:
SELECT 25 << 2 AS "Bitwise Left Shift";
Output:

Pictorial representation of PostgreSQL Bitwise left shift ( << ) operator

PostgreSQL Bitwise Right Shift (>>) operator example
The right shift (>>)operator shifts the bits in the first operand to the right by n bits, where n is the second operand. A right shift by n bits is similar to dividing the first operand by 2 to the power n.
SQL
Code:
SELECT 120 >> 3 AS "Bitwise Right Shift";
Output:

Pictorial representation of PostgreSQL Bitwise right shift ( >> ) operator
Previous: Comparison Operators
Next: Binary String Functions and Operators
