# Mathematical Operators

Mathematical operators are provided for many data types.

Operator | Description | Example | Result |
---|---|---|---|

! |
Factorial |
5 ! |
120 |

+ |
Addition |
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 |
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.