docs-v2/content/shared/sql-reference/functions/math.md

25 KiB
Raw Permalink Blame History

The {{< product-name >}} SQL implementation supports the following math functions for performing mathematic operations:

abs

Returns the absolute value of a number.

abs(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View abs query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT abs(temp) AS abs FROM home LIMIT 3
abs
21
23
22.7

{{% /expand %}} {{< /expand-wrapper >}}

acos

Returns the arc cosine or inverse cosine of a number.

acos(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View acos query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT acos(temp * .01) AS acos FROM home LIMIT 3
acos
1.359221367036801
1.3387186439321834
1.3418001704498232

{{% /expand %}} {{< /expand-wrapper >}}

acosh

Returns the area hyperbolic cosine or inverse hyperbolic cosine of a number.

acosh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View acosh query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT acosh(temp) AS acosh FROM home LIMIT 3
acosh
3.737102242198924
3.8281684713331012
3.8150265878962055

{{% /expand %}} {{< /expand-wrapper >}}

asin

Returns the arc sine or inverse sine of a number.

asin(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View asin query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT asin(temp * .01) AS asin FROM home LIMIT 3
asin
0.2115749597580956
0.23207768286271319
0.22899615634507337

{{% /expand %}} {{< /expand-wrapper >}}

asinh

Returns the area hyperbolic sine or inverse hyperbolic sine of a number.

asinh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View asinh query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT asinh(temp) AS asinh FROM home LIMIT 3
asinh
3.7382360302615427
3.8291136516208812
3.8159969160459988

{{% /expand %}} {{< /expand-wrapper >}}

atan

Returns the arc tangent or inverse tangent of a number.

atan(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View atan query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT atan(temp * .01) AS atan FROM home LIMIT 3
atan
0.206992194219821
0.22606838799388393
0.22321725383717603

{{% /expand %}} {{< /expand-wrapper >}}

atanh

Returns the area hyperbolic tangent or inverse hyperbolic tangent of a number.

atanh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View atanh query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT atanh(temp * .01) AS atanh FROM home LIMIT 3
atanh
0.21317134656485978
0.2341894667593668
0.23102419806174476

{{% /expand %}} {{< /expand-wrapper >}}

atan2

Returns the arc tangent or inverse tangent of expression_y / expression_x.

atan2(expression_y, expression_x)
Arguments
  • expression_y: First numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression_x: Second numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View atan2 query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT atan2(temp, hum) AS atan2 FROM home LIMIT 3
atan2
0.5292859396993504
0.5660139100632452
0.5613335864315844

{{% /expand %}} {{< /expand-wrapper >}}

cbrt

Returns the cube root of a number.

cbrt(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View cbrt query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT cbrt(temp) AS cbrt FROM home LIMIT 3
cbrt
2.7589241763811208
2.843866979851566
2.831448188528187

{{% /expand %}} {{< /expand-wrapper >}}

ceil

Returns the nearest integer greater than or equal to a number.

ceil(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View ceil query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT ceil(temp) AS ceil FROM home LIMIT 3
ceil
21
23
23

{{% /expand %}} {{< /expand-wrapper >}}

cos

Returns the cosine of a number.

cos(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View cos query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT cos(temp) AS cos FROM home LIMIT 3
cos
-0.5477292602242684
-0.5328330203333975
-0.7591100556583898

{{% /expand %}} {{< /expand-wrapper >}}

cosh

Returns the hyperbolic cosine of a number.

cosh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View cosh query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT cosh(temp) AS cosh FROM home LIMIT 3
cosh
659407867.2416073
4872401723.124452
3609563974.9715896

{{% /expand %}} {{< /expand-wrapper >}}

cot

Returns the cotangent of a number.

cot(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of operators.

{{< expand-wrapper >}} {{% expand "View cot query example" %}}

The following example uses the Random numbers sample dataset.

SELECT cot(a) AS cot FROM numbers LIMIT 3
cot
2.9293528483724423
3.705570308335524
-3.314652247498361

{{% /expand %}} {{< /expand-wrapper >}}

degrees

Converts radians to degrees.

degrees(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View degrees query example" %}}

The following example uses the Random numbers sample dataset.

SELECT degrees(a) AS degrees FROM numbers LIMIT 3
degrees
19.428488139031185
-44.403317464348774
-52.771542485064785

{{% /expand %}} {{< /expand-wrapper >}}

exp

Returns the base-e exponential of a number.

exp(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to use as the exponent. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View exp query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT exp(temp) AS exp FROM home LIMIT 3
exp
1318815734.4832146
9744803446.248903
7219127949.943179

{{% /expand %}} {{< /expand-wrapper >}}

factorial

Returns 1 if value is less than 2.

factorial(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Must be an integer (BIGINT). Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View factorial query example" %}}

The following example uses the Random numbers sample dataset.

SELECT factorial((b + 2)::BIGINT) AS factorial FROM numbers LIMIT 3
factorial
1
2
1

{{% /expand %}} {{< /expand-wrapper >}}

floor

Returns the nearest integer less than or equal to a number.

floor(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View floor query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT floor(temp) AS floor FROM home LIMIT 3
floor
21
23
22

{{% /expand %}} {{< /expand-wrapper >}}

gcd

Returns the greatest common divisor of expression_x and expression_y. Returns 0 if both inputs are zero.

gcd(expression_x, expression_y)
Arguments
  • expression_x: First numeric expression to operate on. Must be an integer (BIGINT). Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression_y: Second numeric expression to operate on. Must be an integer (BIGINT). Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View gcd query example" %}}

The following example uses the Random numbers sample dataset.

SELECT gcd((a * 5)::BIGINT, (b * 5)::BIGINT) AS gcd FROM numbers LIMIT 3
gcd
1
3
2

{{% /expand %}} {{< /expand-wrapper >}}

isnan

Returns true if a given number is ±NaN, otherwise returns false.

isnan(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Must be a float (DOUBLE). Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View isnan query example" %}}

The following example uses the Table value constructor to simulate sample data.

SELECT isnan(a)
FROM
  (VALUES (4.56),
          ('NaN'::DOUBLE),
          (16.2)
  ) AS data(a)
isnan
false
true
false

{{% /expand %}} {{< /expand-wrapper >}}

iszero

Returns true if the given number is ±0.0, otherwise returns false.

iszero(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View iszero query example" %}}

The following example uses the Table value constructor to simulate sample data.

SELECT iszero(a)
FROM
  (VALUES (0),
          (1),
          (2)
  ) AS data(a)
iszero
true
false
false

{{% /expand %}} {{< /expand-wrapper >}}

lcm

Returns the least common multiple of expression_x and expression_y. Returns 0 if either input is zero.

lcm(expression_x, expression_y)
Arguments
  • expression_x: First numeric expression to operate on. Must be an integer (BIGINT). Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression_y: Second numeric expression to operate on. Must be an integer (BIGINT). Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View lcm query example" %}}

The following example uses the Random numbers sample dataset.

SELECT lcm((a * 10)::BIGINT, (b * 10)::BIGINT) AS lcm FROM numbers LIMIT 3
lcm
3
7
36

{{% /expand %}} {{< /expand-wrapper >}}

ln

Returns the natural logarithm of a number.

ln(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View ln query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT ln(temp) AS ln FROM home LIMIT 3
ln
3.044522437723423
3.1354942159291497
3.122364924487357

{{% /expand %}} {{< /expand-wrapper >}}

log

Returns the base-x logarithm of a number.

log([base, ]numeric_expression)

Arguments

  • base: Base numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators. Default is 10.
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View log query example" %}}

The following example uses the sample data set provided in the {{ influxdb3/home-sample-link }}.

SELECT
  temp,
  log(2, temp) AS temp_log2,
  log(4, temp) AS temp_log4,
  log(temp) AS temp_log10
FROM home
LIMIT 3
temp temp_log2 temp_log4 temp_log10
21 4.392317422778761 2.1961587113893803 1.322219294733919
23 4.523561956057013 2.2617809780285065 1.3617278360175928
22.7 4.504620392403553 2.2523101962017766 1.3560258571931225

{{% /expand %}} {{< /expand-wrapper >}}

log10

Returns the base-10 logarithm of a number.

log10(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View log10 query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT log10(temp) AS log10 FROM home LIMIT 3
log10
1.3222192947339193
1.3617278360175928
1.3560258571931227

{{% /expand %}} {{< /expand-wrapper >}}

log2

Returns the base-2 logarithm of a number.

log2(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View log2 query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT log2(temp) AS log2 FROM home LIMIT 3
log2
4.392317422778761
4.523561956057013
4.504620392403552

{{% /expand %}} {{< /expand-wrapper >}}

nanvl

Returns the first argument if its not ±NaN. Otherwise returns the second argument.

nanvl(expression_x, expression_y)
Arguments
  • expression_x: Numeric expression to return if its not NaN. Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression_y: Numeric expression to return if the first expression is NaN. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View nanvl query example" %}}

The following example uses the Table value constructor to simulate sample data.

SELECT nanvl(a, 0.0) AS nanvl
FROM
  (VALUES (4.56),
          ('NaN'::DOUBLE),
          (16.2)
  ) AS data(a)
nanvl
4.56
0
16.2

{{% /expand %}} {{< /expand-wrapper >}}

pi

Returns an approximate value of π.

pi()

{{< expand-wrapper >}} {{% expand "View pi query example" %}}

SELECT pi() AS pi
pi
3.141592653589793

{{% /expand %}} {{< /expand-wrapper >}}

power

Returns a base expression raised to the power of an exponent.

power(base, exponent)
Aliases
  • pow
Arguments
  • base: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
  • exponent: Exponent numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View power query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT power(temp, hum * .1) AS power FROM home LIMIT 3
power
55817.099910217476
85007.01501569824
78569.38332452129

{{% /expand %}} {{< /expand-wrapper >}}

pow

Alias of power.

radians

Converts degrees to radians.

radians(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View radians query example" %}}

The following example uses the Random numbers sample dataset.

SELECT radians(b) AS radians FROM numbers LIMIT 3
radians
-0.0028561101762876
0.0023917008411179744
-0.008428949313343818

{{% /expand %}} {{< /expand-wrapper >}}

random

Returns a random float value between 0 and 1. The random seed is unique to each row.

random()

{{< expand-wrapper >}} {{% expand "View random query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT temp * random() AS random FROM home LIMIT 3

[!Note] Due to the nature of the function, your results will not match the results below.

random
0.5030770374815072
12.938847036567514
2.8204596545385385

{{% /expand %}} {{< /expand-wrapper >}}

round

Rounds a number to the nearest integer.

round(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View round query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT round(temp) AS round FROM home LIMIT 3
round
21
23
23

{{% /expand %}} {{< /expand-wrapper >}}

signum

Returns the sign of a number. Negative numbers return -1. Zero and positive numbers return 1.

signum(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View signum query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT signum(temp - 23) AS signum FROM home LIMIT 3
signum
-1
1
-1

{{% /expand %}} {{< /expand-wrapper >}}

sin

Returns the sine of a number.

sin(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View sin query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT sin(temp) AS sin FROM home LIMIT 3
sin
0.8366556385360561
-0.8462204041751706
-0.6509623056662469

{{% /expand %}} {{< /expand-wrapper >}}

sinh

Returns the hyperbolic sine of a number.

sinh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View sinh query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT sinh(temp) AS sinh FROM home LIMIT 3
sinh
659407867.2416073
4872401723.124452
3609563974.9715896

{{% /expand %}} {{< /expand-wrapper >}}

sqrt

Returns the square root of a number.

sqrt(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View sqrt query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT sqrt(temp) AS sqrt FROM home LIMIT 3
sqrt
4.58257569495584
4.795831523312719
4.764451699828638

{{% /expand %}} {{< /expand-wrapper >}}

tan

Returns the tangent of a number.

tan(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View tan query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT tan(temp) AS tan FROM home LIMIT 3
tan
-1.5274985276366035
1.5881530833912738
0.8575335036257101

{{% /expand %}} {{< /expand-wrapper >}}

tanh

Returns the hyperbolic tangent of a number.

tanh(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View tanh query example" %}}

The following example uses the Random numbers sample dataset.

SELECT tanh(a) AS tanh FROM numbers LIMIT 3
tanh
0.32666571332086836
-0.6498182711525403
-0.7263877015335474

{{% /expand %}} {{< /expand-wrapper >}}

trunc

Truncates a number toward zero (at the decimal point).

trunc(numeric_expression)
Arguments
  • numeric_expression: Numeric expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View trunc query example" %}}

The following example uses the {{ influxdb3/home-sample-link }}.

SELECT trunc(temp) AS trunc FROM home LIMIT 3
trunc
21
23
22

{{% /expand %}} {{< /expand-wrapper >}}