ReferenceSQL ReferenceFunctions

Mathematical

Mathematical functions reference.

acos

Returns the arc cosine of the argument.

Syntax

acos(x)

Arguments

Returned value

Returns the arc cosine of x Float*

Examples

Usage example

SELECT acos(0.5);
1.0471975511965979

Introduced in version 1.1.

acosh

Returns the inverse hyperbolic cosine.

Syntax

acosh(x)

Arguments

  • x — Hyperbolic cosine of angle. Values from the interval: 1 ≤ x < +∞. (U)Int* or Float* or Decimal*

Returned value

Returns the angle, in radians. Values from the interval: 0 ≤ acosh(x) < +∞. Float64

Examples

Usage example

SELECT acosh(1)
0

Introduced in version 20.12.

asin

Calculates the arcsine of the provided argument. For arguments in the range [-1, 1] it returns the value in the range of [-pi() / 2, pi() / 2].

Syntax

asin(x)

Arguments

Returned value

Returns the arcsine value of the provided argument x Float64

Examples

inverse

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1 1 1

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan nan nan nan

Introduced in version 1.1.

asinh

Returns the inverse hyperbolic sine.

Syntax

asinh(x)

Arguments

  • x — Hyperbolic sine of angle. Values from the interval: -∞ < x < +∞. (U)Int* or Float* or Decimal*

Returned value

Returns the angle, in radians. Values from the interval: -∞ < asinh(x) < +∞. Float64

Examples

Basic usage

SELECT asinh(0)
0

Introduced in version 20.12.

atan

Returns the arc tangent of the argument.

Syntax

atan(x)

Arguments

Returned value

Returns the arc tangent of x. Float*

Examples

Usage example

SELECT atan(1);
0.7853981633974483

Introduced in version 1.1.

atan2

Returns the atan2 as the angle in the Euclidean plane, given in radians, between the positive x axis and the ray to the point (x, y) ≠ (0, 0).

Syntax

atan2(y, x)

Arguments

Returned value

Returns the angle θ such that -π < θ ≤ π, in radians Float64

Examples

Usage example

SELECT atan2(1, 1)
0.7853981633974483

Introduced in version 20.12.

atanh

Returns the inverse hyperbolic tangent.

Syntax

atanh(x)

Arguments

  • x — Hyperbolic tangent of angle. Values from the interval: -1 < x < 1. (U)Int*, Float* or Decimal*. (U)Int* or Float* or Decimal*

Returned value

Returns the angle, in radians. Values from the interval: -∞ < atanh(x) < +∞ Float64

Examples

Usage example

SELECT atanh(0)
0

Introduced in version 20.12.

cbrt

Returns the cubic root of the argument.

Syntax

cbrt(x)

Arguments

Returned value

Returns the cubic root of x. Float*

Examples

Usage example

SELECT cbrt(8);
2

Introduced in version 1.1.

cos

Returns the cosine of the argument.

Syntax

cos(x)

Arguments

Returned value

Returns the cosine of x. Float*

Examples

Usage example

SELECT cos(0);
1

Introduced in version 1.1.

cosh

Returns the hyperbolic cosine of the argument.

Syntax

cosh(x)

Arguments

Returned value

Returns values from the interval: 1 ≤ cosh(x) < +∞ Float64

Examples

Basic usage

SELECT cosh(0)
1

Introduced in version 20.12.

degrees

Converts radians to degrees.

Syntax

degrees(x)

Arguments

Returned value

Returns the value of x in degrees. Float64

Examples

Basic usage

SELECT degrees(3.141592653589793)
180

Introduced in version 22.2.

e

Returns Euler's constant (e).

Syntax

e()

Returned value

Returns Euler's constant Float64

Examples

Usage example

SELECT e();
2.718281828459045

Introduced in version 1.1.

erf

If x is non-negative, then erf(x/(σ√2)) is the probability that a random variable having a normal distribution with standard deviation σ takes the value that is separated from the expected value by more than x.

Syntax

erf(x)

Arguments

Returned value

Returns the error function value Float*

Examples

Three sigma rule

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

Introduced in version 1.1.

erfc

Returns a number close to 1-erf(x) without loss of precision for large x values.

Syntax

erfc(x)

Arguments

Returned value

Returns the complementary error function value Float*

Examples

Usage example

SELECT erfc(0);
1

Introduced in version 1.1.

exp

Returns e raised to the power of x, where x is the given argument to the function.

Syntax

exp(x)

Arguments

Returned value

Returns e^x Float*

Examples

Basic usage

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

Introduced in version 1.1.

exp10

Returns 10 to the power of the given argument.

Syntax

exp10(x)

Arguments

Returned value

Returns 10^x Float*

Examples

Usage example

SELECT exp10(2);
100

Introduced in version 1.1.

exp2

Returns 2 to the power of the given argument.

Syntax

exp2(x)

Arguments

Returned value

Returns 2^x Float*

Examples

Usage example

SELECT exp2(3);
8

Introduced in version 1.1.

factorial

Computes the factorial of an integer value. The factorial of 0 is 1. Likewise, the factorial() function returns 1 for any negative value. The maximum positive value for the input argument is 20, a value of 21 or greater will cause an exception.

Syntax

factorial(n)

Arguments

  • n — Integer value for which to calculate the factorial. Maximum value is 20. (U)Int8/16/32/64

Returned value

Returns the factorial of the input as UInt64. Returns 1 for input 0 or any negative value. UInt64

Examples

Usage example

factorial(10)
3628800

Introduced in version 22.11.

hypot

Returns the length of the hypotenuse of a right-angle triangle. Hypot avoids problems that occur when squaring very large or very small numbers.

Syntax

hypot(x, y)

Arguments

Returned value

Returns the length of the hypotenuse of a right-angle triangle. Float64

Examples

Basic usage

SELECT hypot(1, 1)
1.4142135623730951

Introduced in version 20.12.

intExp10

Like exp10 but returns a UInt64 number.

Syntax

intExp10(x)

Arguments

Returned value

Returns 10^x. UInt64

Examples

Usage example

SELECT intExp10(2);
100

Introduced in version 1.1.

intExp2

Like exp2 but returns a UInt64 number.

Syntax

intExp2(x)

Arguments

Returned value

Returns 2^x. UInt64

Examples

Usage example

SELECT intExp2(3);
8

Introduced in version 1.1.

lgamma

Returns the logarithm of the gamma function.

Syntax

lgamma(x)

Arguments

  • x — The number for which to compute the logarithm of the gamma function. (U)Int* or Float* or Decimal*

Returned value

Returns the logarithm of the gamma function of x. Float*

Examples

Usage example

SELECT lgamma(5);
3.1780538303479458

Introduced in version 1.1.

log

Returns the natural logarithm of the argument.

Syntax

log(x)

Arguments

Returned value

Returns the natural logarithm of x. Float*

Examples

Usage example

SELECT log(10);
2.302585092994046

Introduced in version 1.1.

log10

Returns the decimal logarithm of the argument.

Syntax

log10(x)

Arguments

Returned value

Returns the decimal logarithm of x. Float*

Examples

Usage example

SELECT log10(100);
2

Introduced in version 1.1.

log1p

Calculates log(1+x). The calculation log1p(x) is more accurate than log(1+x) for small values of x.

Syntax

log1p(x)

Arguments

Returned value

Returns values from the interval: -∞ < log1p(x) < +∞ Float64

Examples

Usage example

SELECT log1p(0)
0

Introduced in version 20.12.

log2

Returns the binary logarithm of the argument.

Syntax

log2(x)

Arguments

Returned value

Returns the binary logarithm of x. Float*

Examples

Usage example

SELECT log2(8);
3

Introduced in version 1.1.

pi

Returns pi (π).

Syntax

pi()

Returned value

Returns pi Float64

Examples

Usage example

SELECT pi();
3.141592653589793

Introduced in version 1.1.

pow

Returns x raised to the power of y.

Syntax

pow(x, y)

Arguments

Returned value

Returns x^y Float64

Examples

Usage example

SELECT pow(2, 3);
8

Introduced in version 1.1.

radians

Converts degrees to radians.

Syntax

radians(x)

Arguments

Returned value

Returns value in radians Float64

Examples

Usage example

SELECT radians(180)
3.141592653589793

Introduced in version 22.2.

sign

Returns the sign of a real number.

Syntax

sign(x)

Arguments

Returned value

Returns -1 for x < 0, 0 for x = 0, 1 for x > 0. Int8

Examples

Sign for zero

SELECT sign(0)
0

Sign for positive

SELECT sign(1)
1

Sign for negative

SELECT sign(-1)
-1

Introduced in version 21.2.

sin

Returns the sine of the argument.

Syntax

sin(x)

Arguments

Returned value

Returns the sine of x.

Examples

simple

SELECT sin(1.23)
0.9424888019316975

sinh

Returns the hyperbolic sine.

Syntax

sinh(x)

Arguments

Returned value

Returns values from the interval: -∞ < sinh(x) < +∞ Float64

Examples

Usage example

SELECT sinh(0)
0

Introduced in version 20.12.

sqrt

Returns the square root of the argument.

Syntax

sqrt(x)

Arguments

Returned value

Returns the square root of x Float*

Examples

Usage example

SELECT sqrt(16);
4

Introduced in version 1.1.

tan

Returns the tangent of the argument.

Syntax

tan(x)

Arguments

Returned value

Returns the tangent of x. Float*

Examples

Usage example

SELECT tan(0);
0

Introduced in version 1.1.

tanh

Returns the hyperbolic tangent.

Syntax

tanh(x)

Arguments

Returned value

Returns values from the interval: -1 < tanh(x) < 1 Float*

Examples

Usage example

SELECT tanh(0)
0

Introduced in version 20.1.

tgamma

Returns the gamma function.

Syntax

tgamma(x)

Arguments

Returned value

Returns the gamma function value Float*

Examples

Usage example

SELECT tgamma(5);
24

Introduced in version 1.1.

widthBucket

Returns the number of the bucket in which parameter operand falls in a histogram having count equal-width buckets spanning the range low to high. Returns 0 if operand is less than low, and returns count+1 if operand is greater than or equal to high. There is also a case insensitive alias called WIDTH_BUCKET to provide compatibility with other databases.

Syntax

widthBucket(operand, low, high, count)

Arguments

Returned value

Returns the bucket number as an integer. Returns 0 if operand < low, returns count+1 if operand >= high. UInt8/16/32/64

Examples

Usage example

widthBucket(10.15, -8.6, 23, 18)
11

Introduced in version 23.3.