Mathematical functions
e
Returns (Euler's constant).
Syntax
Returned value
Type: Float64.
pi
Returns (Pi).
Syntax
Returned value
Type: Float64.
exp
Returns , where x is the given argument to the function.
Syntax
Arguments
Example
Query:
Result:
Returned value
Type: Float*.
log
Returns the natural logarithm of the argument.
Syntax
Alias: ln(x)
Arguments
Returned value
Type: Float*.
exp2
Returns 2 to the power of the given argument
Syntax
Arguments
Returned value
Type: Float*.
intExp2
Like exp
but returns a UInt64.
Syntax
log2
Returns the binary logarithm of the argument.
Syntax
Arguments
Returned value
Type: Float*.
exp10
Returns 10 to the power of the given argument.
Syntax
Arguments
Returned value
Type: Float*.
intExp10
Like exp10
but returns a UInt64.
Syntax
log10
Returns the decimal logarithm of the argument.
Syntax
Arguments
Returned value
Type: Float*.
sqrt
Returns the square root of the argument.
Arguments
Returned value
Type: Float*.
cbrt
Returns the cubic root of the argument.
Arguments
Returned value
Type: Float*.
erf
If x
is non-negative, then 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
Arguments
Returned value
Type: Float*.
Example
(three sigma rule)
erfc
Returns a number close to without loss of precision for large x
values.
Syntax
Arguments
Returned value
Type: Float*.
lgamma
Returns the logarithm of the gamma function.
Syntax
Arguments
Returned value
Type: Float*.
tgamma
Returns the gamma function.
Syntax
Arguments
Returned value
Type: Float*.
sin
Returns the sine of the argument
Syntax
Arguments
Returned value
Type: Float*.
Example
Query:
cos
Returns the cosine of the argument.
Syntax
Arguments
Returned value
Type: Float*.
tan
Returns the tangent of the argument.
Syntax
Arguments
Returned value
Type: Float*.
asin
Returns the arc sine of the argument.
Syntax
Arguments
Returned value
Type: Float*.
acos
Returns the arc cosine of the argument.
Syntax
Arguments
Returned value
Type: Float*.
atan
Returns the arc tangent of the argument.
Syntax
Arguments
Returned value
Type: Float*.
pow
Returns .
Syntax
Alias: power(x, y)
Arguments
x
- (U)Int8/16/32/64, Float* or Decimal*y
- (U)Int8/16/32/64, Float* or Decimal*
Returned value
Type: Float64.
cosh
Returns the hyperbolic cosine of the argument.
Syntax
Arguments
Returned value
- Values from the interval: .
Type: Float64.
Example
Result:
acosh
Returns the inverse hyperbolic cosine.
Syntax
Arguments
Returned value
- The angle, in radians. Values from the interval: .
Type: Float64.
Example
Result:
sinh
Returns the hyperbolic sine.
Syntax
Arguments
Returned value
- Values from the interval: .
Type: Float64.
Example
Result:
asinh
Returns the inverse hyperbolic sine.
Syntax
Arguments
Returned value
- The angle, in radians. Values from the interval: .
Type: Float64.
Example
Result:
tanh
Returns the hyperbolic tangent.
Syntax
Arguments
Returned value
- Values from the interval: .
Type: Float*.
Example
Result:
atanh
Returns the inverse hyperbolic tangent.
Syntax
Arguments
Returned value
- The angle, in radians. Values from the interval: .
Type: Float64.
Example
Result:
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
Arguments
y
— y-coordinate of the point through which the ray passes. (U)Int*, Float* or Decimal*.x
— x-coordinate of the point through which the ray passes. (U)Int*, Float* or Decimal*.
Returned value
- The angle
θ
such that , in radians.
Type: Float64.
Example
Result:
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
Arguments
x
— The first cathetus of a right-angle triangle. (U)Int*, Float* or Decimal*.y
— The second cathetus of a right-angle triangle. (U)Int*, Float* or Decimal*.
Returned value
- The length of the hypotenuse of a right-angle triangle.
Type: Float64.
Example
Result:
log1p
Calculates log(1+x)
. The calculation log1p(x)
is more accurate than log(1+x)
for small values of x.
Syntax
Arguments
Returned value
- Values from the interval: .
Type: Float64.
Example
Result:
sign
Returns the sign of a real number.
Syntax
Arguments
x
— Values from to . Supports all numeric types in ClickHouse.
Returned value
- -1 for
x < 0
- 0 for
x = 0
- 1 for
x > 0
Type: Int8.
Examples
Sign for the zero value:
Result:
Sign for the positive value:
Result:
Sign for the negative value:
Result:
sigmoid
Returns the sigmoid function.
Syntax
Parameters
Returned value
- Corresponding value along the sigmoid curve between 0 and 1. Float64.
Example
Query:
Result:
degrees
Converts radians to degrees.
Syntax
Arguments
x
— Input in radians. (U)Int*, Float* or Decimal*.x
— Input in radians. (U)Int*, Float* or Decimal*.
Returned value
- Value in degrees. Float64.
Example
Result:
radians
Converts degrees to radians.
Syntax
Arguments
Returned value
- Value in radians.
Type: Float64.
Example
Result:
factorial
Computes the factorial of an integer value. Works with any native integer type including UInt(8|16|32|64) and Int(8|16|32|64). The return type is UInt64.
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 exception throw. Syntax
Example
Result:
width_bucket
Returns the number of the bucket in which operand
falls in a histogram having count
equal-width buckets spanning the range low
to high
. Returns 0
if operand < low
, and returns count+1
if operand >= high
.
operand
, low
, high
can be any native number type. count
can only be unsigned native integer and its value cannot be zero.
Syntax
Alias: WIDTH_BUCKET
Example
Result:
proportionsZTest
Returns test statistics for the two proportion Z-test - a statistical test for comparing the proportions from two populations x
and y
.
Syntax
Arguments
successes_x
: Number of successes in populationx
. UInt64.successes_y
: Number of successes in populationy
. UInt64.trials_x
: Number of trials in populationx
. UInt64.trials_y
: Number of trials in populationy
. UInt64.conf_level
: Confidence level for the test. Float64.pool_type
: Selection of pooling (way in which the standard error is estimated). Can be eitherunpooled
orpooled
. String.
For argument pool_type
: In the pooled version, the two proportions are averaged, and only one proportion is used to estimate the standard error. In the unpooled version, the two proportions are used separately.
Returned value
z_stat
: Z statistic. Float64.p_val
: P value. Float64.ci_low
: The lower confidence interval. Float64.ci_high
: The upper confidence interval. Float64.
Example
Query:
Result:
acos
Introduced in: v1.1
Returns the arc cosine of the argument.
Syntax
Arguments
Returned value
Returns the arc cosine of x Float*
Examples
Usage example
acosh
Introduced in: v20.12
Returns the inverse hyperbolic cosine.
Syntax
Arguments
Returned value
Returns the angle, in radians. Values from the interval: 0 ≤ acosh(x) < +∞
. Float64
Examples
Usage example
asin
Introduced in: v
Calculates the arcsine of the argument.
Takes arbitrary numeric type, which includes floating point and integer numbers, as well as big integers and decimals and returns Float64.
For arguments in range [-1, 1] it returns the value in range of [-pi() / 2, pi() / 2].
It represents an inverse function to function 'sin' on this range: [example:inverse]
It always returns Float64, even if the argument has Float32 type: [example:float32]
For arguments outside of this range, it returns nan: [example:nan]
Every self-respectful data scientist knows how to apply arcsine to improve ads click-through rate with ClickHouse. For more details, see [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions].
Syntax
Arguments
- None. Returned value
Examples
inverse
float32
nan
asinh
Introduced in: v20.12
Returns the inverse hyperbolic sine.
Syntax
Arguments
Returned value
Returns the angle, in radians. Values from the interval: -∞ < asinh(x) < +∞
. Float64
Examples
Basic usage
atan
Introduced in: v1.1
Returns the arc tangent of the argument.
Syntax
Arguments
Returned value
Returns the arc tangent of x
. Float*
Examples
Usage example
atan2
Introduced in: v20.12
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
Arguments
y
— y-coordinate of the point through which the ray passes.(U)Int*
orFloat*
orDecimal*
x
— x-coordinate of the point through which the ray passes.(U)Int*
orFloat*
orDecimal*
Returned value
Returns the angle θ
such that -π < θ ≤ π
, in radians Float64
Examples
Usage example
atanh
Introduced in: v20.12
Returns the inverse hyperbolic tangent.
Syntax
Arguments
x
— Hyperbolic tangent of angle. Values from the interval: -1 < x < 1.(U)Int*
,Float*
orDecimal*
.(U)Int*
orFloat*
orDecimal*
Returned value
Returns the angle, in radians. Values from the interval: -∞ < atanh(x) < +∞ Float64
Examples
Usage example
cbrt
Introduced in: v1.1
Returns the cubic root of the argument.
Syntax
Arguments
Returned value
Returns the cubic root of x
. Float*
Examples
Usage example
cos
Introduced in: v1.1
Returns the cosine of the argument.
Syntax
Arguments
Returned value
Returns the cosine of x
. Float*
Examples
Usage example
cosh
Introduced in: v20.12
Returns the hyperbolic cosine of the argument.
Syntax
Arguments
Returned value
Returns values from the interval: 1 ≤ cosh(x) < +∞
Float64
Examples
Basic usage
degrees
Introduced in: v22.2
Converts radians to degrees.
Syntax
Arguments
Returned value
Returns the value of x
in degrees. Float64
Examples
Basic usage
e
Introduced in: v1.1
Returns Euler's constant (e).
Syntax
Arguments
- None. Returned value
Returns Euler's constant Float64
Examples
Usage example
erf
Introduced in: v1.1
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
Arguments
Returned value
Returns the error function value Float*
Examples
Three sigma rule
erfc
Introduced in: v1.1
Returns a number close to 1-erf(x)
without loss of precision for large x
values.
Syntax
Arguments
Returned value
Returns the complementary error function value Float*
Examples
Usage example
exp
Introduced in: v1.1
Returns e raised to the power of x
, where x
is the given argument to the function.
Syntax
Arguments
Returned value
Returns e^x
Float*
Examples
Basic usage
exp10
Introduced in: v1.1
Returns 10 to the power of the given argument.
Syntax
Arguments
Returned value
Returns 10^x Float*
Examples
Usage example
exp2
Introduced in: v1.1
Returns 2 to the power of the given argument.
Syntax
Arguments
Returned value
Returns 2^x Float*
Examples
Usage example
factorial
Introduced in: v
Computes the factorial of an integer value. It works with any native integer type including UInt(8|16|32|64) and Int(8|16|32|64). The return type is UInt64.
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 exception throw.
Syntax
Arguments
- None. Returned value
Examples
factorial
hypot
Introduced in: v20.12
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
Arguments
x
— The first cathetus of a right-angle triangle.(U)Int*
orFloat*
orDecimal*
y
— The second cathetus of a right-angle triangle.(U)Int*
orFloat*
orDecimal*
Returned value
Returns the length of the hypotenuse of a right-angle triangle. Float64
Examples
Basic usage
intExp10
Introduced in: v1.1
Like exp10 but returns a UInt64
number.
Syntax
Arguments
Returned value
Returns 10^x. UInt64
Examples
Usage example
intExp2
Introduced in: v1.1
Like exp2 but returns a UInt64
number.
Syntax
Arguments
Returned value
Returns 2^x. UInt64
Examples
Usage example
lgamma
Introduced in: v1.1
Returns the logarithm of the gamma function.
Syntax
Arguments
x
— The number for which to compute the logarithm of the gamma function.(U)Int*
orFloat*
orDecimal*
Returned value
Returns the logarithm of the gamma function of x
. Float*
Examples
Usage example
log
Introduced in: v1.1
Returns the natural logarithm of the argument.
Syntax
Arguments
Returned value
Returns the natural logarithm of x
. Float*
Examples
Usage example
log10
Introduced in: v1.1
Returns the decimal logarithm of the argument.
Syntax
Arguments
Returned value
Returns the decimal logarithm of x
. Float*
Examples
Usage example
log1p
Introduced in: v20.12
Calculates log(1+x).
The calculation log1p(x) is more accurate than log(1+x) for small values of x
.
Syntax
Arguments
Returned value
Returns values from the interval: -∞ < log1p(x) < +∞ Float64
Examples
Usage example
log2
Introduced in: v1.1
Returns the binary logarithm of the argument.
Syntax
Arguments
Returned value
Returns the binary logarithm of x
. Float*
Examples
Usage example
pi
Introduced in: v1.1
Returns pi (π).
Syntax
Arguments
- None. Returned value
Returns pi Float64
Examples
Usage example
pow
Introduced in: v1.1
Returns x raised to the power of y.
Syntax
Arguments
x
— The base.(U)Int8/16/32/64
orFloat*
orDecimal*
y
— The exponent.(U)Int8/16/32/64
orFloat*
orDecimal*
Returned value
Returns x^y Float64
Examples
Usage example
radians
Introduced in: v22.2
Converts degrees to radians.
Syntax
Arguments
Returned value
Returns value in radians Float64
Examples
Usage example
sign
Introduced in: v21.2
Returns the sign of a real number.
Syntax
Arguments
Returned value
Returns -1
for x < 0
, 0
for x = 0
, 1
for x > 0
. Int8
Examples
Sign for zero
Sign for positive
Sign for negative
sin
Introduced in: v
Returns the sine of the argument.
Syntax
Arguments
Returned value
Returns the sine of x.
Examples
simple
sinh
Introduced in: v20.12
Returns the hyperbolic sine.
Syntax
Arguments
Returned value
Returns values from the interval: -∞ < sinh(x) < +∞ Float64
Examples
Usage example
sqrt
Introduced in: v1.1
Returns the square root of the argument.
Syntax
Arguments
Returned value
Returns the square root of x Float*
Examples
Usage example
tan
Introduced in: v1.1
Returns the tangent of the argument.
Syntax
Arguments
Returned value
Returns the tangent of x
. Float*
Examples
Usage example
tanh
Introduced in: v20.1
Returns the hyperbolic tangent.
Syntax
Arguments
Returned value
Returns values from the interval: -1 < tanh(x) < 1 Float*
Examples
Usage example
tgamma
Introduced in: v1.1
Returns the gamma function.
Syntax
Arguments
Returned value
Returns the gamma function value Float*
Examples
Usage example
widthBucket
Introduced in: v
Returns the number of the bucket in which operand
falls in a histogram having count
equal-width buckets spanning the range low
to high
. Returns 0
if operand < low
, and returns count+1
if operand >= high
.
operand
, low
, high
can be any native number type. count
can only be unsigned native integer and its value cannot be zero.
Syntax
There is also a case insensitive alias called WIDTH_BUCKET
to provide compatibility with other databases.
Example
Query: [example:simple]
Result:
Syntax
Arguments
- None. Returned value
Examples
simple