Mathematical Functions and Operators¶
Mathematical Operators¶
Operator |
Description |
|---|---|
|
Addition |
|
Subtraction |
|
Multiplication |
|
Division (integer division performs truncation) |
|
Modulus (remainder) |
Mathematical Functions¶
- abs(x) -> [same as input]()¶
Returns the absolute value of
x.
- cbrt(x) -> double()¶
Returns the cube root of
x.
- ceil(x) -> [same as input]()¶
This is an alias for
ceiling().
- ceiling(x) -> [same as input]()¶
Returns
xrounded up to the nearest integer.
- cosine_similarity(x, y) -> double()¶
Returns the cosine similarity between the sparse vectors
xandy:SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 1.0
- degrees(x) -> double()¶
Converts angle
xin radians to degrees.
- e() -> double()¶
Returns the constant Euler’s number.
- exp(x) -> double()¶
Returns Euler’s number raised to the power of
x.
- floor(x) -> [same as input]()¶
Returns
xrounded down to the nearest integer.
- from_base(string, radix) -> bigint()¶
Returns the value of
stringinterpreted as a base-radixnumber.
- ln(x) -> double()¶
Returns the natural logarithm of
x.
- log2(x) -> double()¶
Returns the base 2 logarithm of
x.
- log10(x) -> double()¶
Returns the base 10 logarithm of
x.
- mod(n, m) -> [same as input]()¶
Returns the modulus (remainder) of
ndivided bym.
- pi() -> double()¶
Returns the constant Pi.
- pow(x, p) -> double()¶
This is an alias for
power().
- power(x, p) -> double()¶
Returns
xraised to the power ofp.
- radians(x) -> double()¶
Converts angle
xin degrees to radians.
- rand() -> double()¶
This is an alias for
random().
- random() -> double()¶
Returns a pseudo-random value in the range 0.0 <= x < 1.0.
- random(n) -> [same as input]()¶
Returns a pseudo-random number between 0 and n (exclusive).
- secure_rand() -> double()¶
This is an alias for
secure_random().
- secure_random() -> double()¶
Returns a cryptographically secure random value in the range 0.0 <= x < 1.0.
- secure_random(lower, upper) -> [same as input]()¶
Returns a cryptographically secure random value in the range lower <= x < upper, where lower < upper.
- round(x) -> [same as input]()¶
Returns
xrounded to the nearest integer.
- round(x, d) -> [same as input]()¶
Returns
xrounded toddecimal places.
- 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(x) -> double()¶
Returns the square root of
x.
- to_base(x, radix) -> varchar()¶
Returns the base-
radixrepresentation ofx.
- truncate(x) -> double()¶
Returns
xrounded to integer by dropping digits after decimal point.
- truncate(x, n) -> double()¶
Returns
xtruncated tondecimal places.ncan be negative to truncatendigits left of the decimal point.Example:
truncate(REAL '12.333', -1)-> result is 10.0truncate(REAL '12.333', 0)-> result is 12.0truncate(REAL '12.333', 1)-> result is 12.3
- width_bucket(x, bound1, bound2, n) -> bigint()¶
Returns the bin number of
xin an equi-width histogram with the specifiedbound1andbound2bounds andnnumber of buckets.
- width_bucket(x, bins) -> bigint()¶
Returns the bin number of
xaccording to the bins specified by the arraybins. Thebinsparameter must be an array of doubles and is assumed to be in sorted ascending order.
Probability Functions: cdf¶
- beta_cdf(a, b, value) -> double()¶
Compute the Beta cdf with given a, b parameters: P(N < value; a, b). The a, b parameters must be positive real numbers and value must be a real value (all of type DOUBLE). The value must lie on the interval [0, 1].
- binomial_cdf(numberOfTrials, successProbability, value) -> double()¶
Compute the Binomial cdf with given numberOfTrials and successProbability (for a single trial): P(N < value). The successProbability must be real value in [0, 1], numberOfTrials and value must be positive integers with numberOfTrials greater or equal to value.
- cauchy_cdf(median, scale, value) -> double()¶
Compute the Cauchy cdf with given parameters median and scale (gamma): P(N; median, scale). The scale parameter must be a positive double. The value parameter must be a double on the interval [0, 1].
- chi_squared_cdf(df, value) -> double()¶
Compute the Chi-square cdf with given df (degrees of freedom) parameter: P(N < value; df). The df parameter must be a positive real number, and value must be a non-negative real value (both of type DOUBLE).
- f_cdf(df1, df2, value) -> double()¶
Compute the F cdf with given df1 (numerator degrees of freedom) and df2 (denominator degrees of freedom) parameters: P(N < value; df1, df2). The numerator and denominator df parameters must be positive real numbers. The value must be a non-negative real number.
- gamma_cdf(shape, scale, value) -> double()¶
Compute the Gamma cdf with given shape and scale parameters: P(N < value; shape, scale). The shape and scale parameters must be positive real numbers. The value must be a non-negative real number.
- laplace_cdf(mean, scale, value) -> double()¶
Compute the Laplace cdf with given mean and scale parameters: P(N < value; mean, scale). The mean and value must be real values and the scale parameter must be a positive value (all of type DOUBLE).
- normal_cdf(mean, sd, value) -> double()¶
Compute the Normal cdf with given mean and standard deviation (sd): P(N < value; mean, sd). The mean and value must be real values and the standard deviation must be a real and positive value (all of type DOUBLE).
- poisson_cdf(lambda, value) -> double()¶
Compute the Poisson cdf with given lambda (mean) parameter: P(N <= value; lambda). The lambda parameter must be a positive real number (of type DOUBLE) and value must be a non-negative integer.
- weibull_cdf(a, b, value) -> double()¶
Compute the Weibull cdf with given parameters a, b: P(N <= value). The
aandbparameters must be positive doubles andvaluemust also be a double.
Probability Functions: inverse_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 (all of type DOUBLE). The probability p must lie on the interval [0, 1].
- inverse_binomial_cdf(numberOfTrials, successProbability, p) -> int()¶
Compute the inverse of the Binomial cdf with given numberOfTrials and successProbability (of a single trial) the cumulative probability (p): P(N <= n). The successProbability and p must be real values in [0, 1] and the numberOfTrials must be a positive integer.
- inverse_cauchy_cdf(median, scale, p) -> double()¶
Compute the inverse of the Cauchy cdf with given parameters median and scale (gamma) for the probability p. The scale parameter must be a positive double. The probability p must be a double on the interval [0, 1].
- inverse_chi_squared_cdf(df, p) -> double()¶
Compute the inverse of the Chi-square cdf with given df (degrees of freedom) parameter for the cumulative probability (p): P(N < n). The df parameter must be positive real values. The probability p must lie on the interval [0, 1].
- inverse_gamma_cdf(shape, scale, p) -> double()¶
Compute the inverse of the Gamma cdf with given shape and scale parameters for the cumulative probability (p): P(N < n). The shape and scale parameters must be positive real values. The probability p must lie on the interval [0, 1].
- inverse_f_cdf(df1, df2, p) -> double()¶
Compute the inverse of the F cdf with a given df1 (numerator degrees of freedom) and df2 (denominator degrees of freedom) parameters for the cumulative probability (p): P(N < n). The numerator and denominator df parameters must be positive real numbers. The probability p must lie on the interval [0, 1].
- inverse_laplace_cdf(mean, scale, p) -> double()¶
Compute the inverse of the Laplace cdf with given mean and scale parameters for the cumulative probability (p): P(N < n). The mean must be a real value and the scale must be a positive real value (both of type DOUBLE). The probability p must lie on the interval [0, 1].
- inverse_normal_cdf(mean, sd, p) -> double()¶
Compute the inverse of the Normal cdf with given mean and standard deviation (sd) for the cumulative probability (p): P(N < n). The mean must be a real value and the standard deviation must be a real and positive value (both of type DOUBLE). The probability p must lie on the interval (0, 1).
- inverse_poisson_cdf(lambda, p) -> integer()¶
Compute the inverse of the Poisson cdf with given lambda (mean) parameter for the cumulative probability (p). It returns the value of n so that: P(N <= n; lambda) = p. The lambda parameter must be a positive real number (of type DOUBLE). The probability p must lie on the interval [0, 1).
- inverse_weibull_cdf(a, b, p) -> double()¶
Compute the inverse of the Weibull cdf with given parameters
a,bfor the probabilityp. Thea,bparameters must be positive double values. The probabilitypmust be a double on the interval [0, 1].
Statistical Functions¶
- 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(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.
Trigonometric Functions¶
All trigonometric function arguments are expressed in radians.
See unit conversion functions degrees() and radians().
- acos(x) -> double()¶
Returns the arc cosine of
x.
- asin(x) -> double()¶
Returns the arc sine of
x.
- atan(x) -> double()¶
Returns the arc tangent of
x.
- atan2(y, x) -> double()¶
Returns the arc tangent of
y / x.
- cos(x) -> double()¶
Returns the cosine of
x.
- cosh(x) -> double()¶
Returns the hyperbolic cosine of
x.
- sin(x) -> double()¶
Returns the sine of
x.
- tan(x) -> double()¶
Returns the tangent of
x.
- tanh(x) -> double()¶
Returns the hyperbolic tangent of
x.
Floating Point Functions¶
- infinity() -> double()¶
Returns the constant representing positive infinity.
- is_finite(x) -> boolean()¶
Determine if
xis finite.
- is_infinite(x) -> boolean()¶
Determine if
xis infinite.
- is_nan(x) -> boolean()¶
Determine if
xis not-a-number.
- nan() -> double()¶
Returns the constant representing not-a-number.