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