Mathematical operators

OperatorDescription
+Addition
-Subtraction
*Multiplication
/Division (integer division performs truncation)
%Modulus (remainder)

Mathematical functions

abs()

abs(x) → same as input
Returns the absolute value of x.

cbrt()

cbrt(x) → double
Returns the cube root of x.

ceil()

ceil(x) → same as input
This is an alias for ceiling.

ceiling()

ceiling(x) → same as input
Returns x rounded up to the nearest integer.

degrees()

degrees(x) → double
Converts angle x in radians to degrees.

e()

e() → double
Returns the constant Euler’s number.

exp()

exp(x) → double
Returns Euler’s number raised to the power of x.

floor()

floor(x) → same as input
Returns x rounded down to the nearest integer.

ln()

ln(x) → double
Returns the natural logarithm of x.

log()

log(b, x) → double
Returns the base b logarithm of x.

log2()

log2(x) → double
Returns the base 2 logarithm of x.

log10()

log10(x) → double
Returns the base 10 logarithm of x.

mod()

mod(n, m) → same as input
Returns the modulus (remainder) of n divided by m.

pi()

pi() → double
Returns the constant Pi.

pow()

pow(x, p) → double
This is an alias for power.

power()

power(x, p) → double
Returns x raised to the power of p.

radians()

radians(x) → double
Converts angle x in degrees to radians.

round()

round(x) → same as input
Returns x rounded to the nearest integer.

round()

round(x, d) → same as input
Returns x rounded to d decimal places.

sign()

sign(x) → same as input
Returns the signum function of x, that is:

  • 0 if the argument is 0,
  • 1 if the argument is greater than 0,
  • -1 if the argument is less than 0. For double arguments, the function additionally returns:
  • NaN if the argument is NaN,
  • 1 if the argument is +Infinity,
  • -1 if the argument is -Infinity.

sqrt()

sqrt(x) → double
Returns the square root of x.

truncate()

truncate(x) → double
Returns x rounded to integer by dropping digits after decimal point.

width_bucket()

width_bucket(x, bound1, bound2, n) → bigint
Returns the bin number of x in an equi-width histogram with the specified bound1 and bound2 bounds and n number of buckets.

width_bucket()

width_bucket(x, bins) → bigint
Returns the bin number of x according to the bins specified by the array bins. The bins parameter must be an array of doubles and is assumed to be in sorted ascending order.

Random functions

rand()

rand() → double
This is an alias for random().

random()

random() → double
Returns a pseudo-random value in the range 0.0 <= x < 1.0.

random()

random(n) → same as input
Returns a pseudo-random number between 0 and n (exclusive).

random()

random(m, n) → same as input
Returns a pseudo-random number between m and n (exclusive).

Trigonometric functions

All trigonometric function arguments are expressed in radians. See unit conversion functions degrees and radians.

acos()

acos(x) → double
Returns the arc cosine of x.

asin()

asin(x) → double
Returns the arc sine of x.

atan()

atan(x) → double
Returns the arc tangent of x.

atan2()

atan2(y, x) → double
Returns the arc tangent of y / x.

cos()

cos(x) → double
Returns the cosine of x.

cosh()

cosh(x) → double
Returns the hyperbolic cosine of x.

sin()

sin(x) → double
Returns the sine of x.

tan()

tan(x) → double
Returns the tangent of x.

sinh()

sinh(x) → double Returns the hyperbolic sine of x.

tanh()

tanh(x) → double
Returns the hyperbolic tangent of x.

Floating point functions

infinity()

infinity() → double
Returns the constant representing positive infinity.

is_finite()

is_finite(x) → boolean
Determine if x is finite.

is_infinite()

is_infinite(x) → boolean
Determine if x is infinite.

is_nan()

is_nan(x) → boolean
Determine if x is not-a-number.

nan()

nan() → double
Returns the constant representing not-a-number.

Base conversion functions

from_base()

from_base(string, radix) → bigint
Returns the value of string interpreted as a base-radix number.

to_base()

to_base(x, radix) → varchar
Returns the base-radix representation of x.

Statistical functions

cosine_similarity()

cosine_similarity(x, y) → double
Returns the cosine similarity between the sparse vectors x and y: SELECT cosine_similarity(MAP(ARRAY[‘a’], ARRAY[1.0]), MAP(ARRAY[‘a’], ARRAY[2.0])); — 1.0

wilson_interval_lower()

wilson_interval_lower(successes, trials, z) → double
Returns the lower bound of the Wilson score interval of a Bernoulli trial process at a confidence specified by the z-score z.

wilson_interval_upper()

wilson_interval_upper(successes, trials, z) → double
Returns the upper bound of the Wilson score interval of a Bernoulli trial process at a confidence specified by the z-score z.

Cumulative distribution functions

beta_cdf()

beta_cdf(a, b, v) → double
Compute the Beta cdf with given a, b parameters: P(N < v; a, b). The a, b parameters must be positive real numbers and value v must be a real value. The value v must lie on the interval [0, 1].

inverse_beta_cdf()

inverse_beta_cdf(a, b, p) → double
Compute the inverse of the Beta cdf with given a, b parameters for the cumulative probability (p): P(N < n). The a, b parameters must be positive real values. The probability p must lie on the interval [0, 1].

inverse_normal_cdf()

inverse_normal_cdf(mean, sd, p) → double
Compute the inverse of the Normal cdf with given mean and standard

normal_cdf()

normal_cdf(mean, sd, v) → double
Compute the Normal cdf with given mean and standard deviation (sd): P(N < v; mean, sd). The mean and value v must be real values and the standard deviation must be a real and positive value.