SQL
Numeric Operators
The table below shows the available mathematical operators for [numeric types](#docs:sql:data_types:numeric).  
<div class="narrow_table"></div>  
<!-- markdownlint-disable MD056 -->  
| Operator | Description | Example | Result |
|-|-----|--|-|
| `+`      | addition                  | `2 + 3`   | `5`   |
| `-`      | subtraction               | `2 - 3`   | `-1`  |
| `*`      | multiplication            | `2 * 3`   | `6`   |
| `/`      | float division            | `5 / 2`   | `2.5` |
| `//`     | division                  | `5 // 2`  | `2`   |
| `%`      | modulo (remainder)        | `5 % 4`   | `1`   |
| `**`     | exponent                  | `3 ** 4`  | `81`  |
| `^`      | exponent (alias for `**`) | `3 ^ 4`   | `81`  |
| `&`      | bitwise AND               | `91 & 15` | `11`  |
| `|`      | bitwise OR                | `32 | 3`  | `35`  |
| `<<`     | bitwise shift left        | `1 << 4`  | `16`  |
| `>>`     | bitwise shift right       | `8 >> 2`  | `2`   |
| `~`      | bitwise negation          | `~15`     | `-16` |
| `!`      | factorial of `x`          | `4!`      | `24`  |  
<!-- markdownlint-enable MD056 -->  
#### Division and Modulo Operators {#docs:sql:functions:numeric::division-and-modulo-operators}  
There are two division operators: `/` and `//`.
They are equivalent when at least one of the operands is a `FLOAT` or a `DOUBLE`.
When both operands are integers, `/` performs floating points division (` 5 / 2 = 2.5`) while `//` performs integer division (` 5 // 2 = 2`).  
#### Supported Types {#docs:sql:functions:numeric::supported-types}  
The modulo, bitwise, and negation and factorial operators work only on integral data types,
whereas the others are available for all numeric data types.