# Mathematical Operators

Mathematical operators are provided for many data types.

Operator Description Example Result
`!`

Factorial

`5 !`
`120`
`+`

`2 + 3`
`5`
`–`

Subtraction

`2 – 3`
`–1`
`*`

Multiplication

`2 * 3`
`6`
`/`

Division (integer division produces NUMERIC results).

`4 / 2`
`2.00...`
`//`

With integer division, returns an INTEGER rather than a NUMERIC.

`117.32 // 2.5`
`46`
`%`

Modulo (remainder). For details, see `MOD`.

`5 % 4`
`1`
`^`

Exponentiation

`2.0 ^ 3.0`
`8`
`|/`

Square root

`|/ 25.0`
`5`
`||/`

Cube root

`||/ 27.0`
`3`
`!!`

Factorial (prefix operator)

`!! 5`
`120`
`@`

Absolute value

`@ -5.0`
`5`

## Factorial Operator Support

Vertica supports use of factorial operators on positive and negative floating point (`DOUBLE PRECISION`) numbers and integers. For example:

```=> SELECT 4.98!;
?column?
------------------
115.978600750905
(1 row)
```

Factorial is defined in terms of the gamma function, where (-1) = Infinity and the other negative integers are undefined. For example:

```(–4)! = NaN
–(4!) = –24```

Factorial is defined as follows for all complex numbers z:

`z! = gamma(z+1) `

For details, see Abramowitz and Stegun: Handbook of Mathematical Functions.