跳到主要内容
版本:2.4.x

数学函数

数学函数是用于执行各种数学运算和计算的函数集合。它们包括基本的算术运算函数(如加法、减法、乘法、除法),三角函数(如正弦、余弦、正切)、指数函数、对数函数等。这些函数可以帮助你进行数值计算、解决数学问题和创建数学模型。

abs

返回数值的绝对值。

abs(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 abs 示例
SELECT abs(-10);
+-----------------+
| abs(Int64(-10)) |
+-----------------+
| 10.0 |
+-----------------+

acos

返回数值反余弦。

acos(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 acos 示例
SELECT acos(0.5);
+--------------------+
| acos(Float64(0.5)) |
+--------------------+
| 1.0471975511965979 |
+--------------------+

acosh

返回数字的面积双曲余弦或反双曲余弦。

acosh(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 acosh 示例
SELECT acosh(10);
+-------------------+
| acosh(Int64(10)) |
+-------------------+
| 2.993222846126381 |
+-------------------+

asin

返回数字的反正弦。

asin(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 asin 示例
SELECT asin(1);
+--------------------+
| asin(Int64(1)) |
+--------------------+
| 1.5707963267948966 |
+--------------------+

asinh

返回数字的面积双曲正弦或反双曲正弦。

asinh(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 asinh 示例
SELECT asinh(1);
+-------------------+
| asinh(Int64(1)) |
+-------------------+
| 0.881373587019543 |
+-------------------+

atan

返回数字的反正切。

atan(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 atan 示例
SELECT atan(1);
+--------------------+
| atan(Int64(1)) |
+--------------------+
| 0.7853981633974483 |
+--------------------+

atanh

返回数字的面积双曲正切或反双曲正切。

atanh(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 atanh 示例
SELECT atanh(0.3);
+---------------------+
| atanh(Float64(0.3)) |
+---------------------+
| 0.30951960420311175 |
+---------------------+

atan2

返回 expression_y / expression_x 的反正切

atan2(expression_y, expression_x)
参数描述
expression_y要操作的第一个数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。
expression_x要操作的第二个数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 atan2 示例
SELECT atan2(10, 2);
+---------------------------+
| atan2(Int64(10),Int64(2)) |
+---------------------------+
| 1.3734008 |
+---------------------------+

cbrt

返回数字的立方根。

cbrt(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 cbrt 示例
SELECT cbrt(8);
+----------------+
| cbrt(Int64(8)) |
+----------------+
| 2.0 |
+----------------+

ceil

向上取整。

ceil(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 ceil 示例
SELECT ceil(1.6);
+--------------------+
| ceil(Float64(1.6)) |
+--------------------+
| 2.0 |
+--------------------+

cos

返回数值的余弦。

cos(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 cos 示例
SELECT cos(1);
+--------------------+
| cos(Int64(1)) |
+--------------------+
| 0.5403023058681398 |
+--------------------+

cosh

返回数值的双曲余弦。

cosh(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 cosh 示例
SELECT cosh(2);
+--------------------+
| cosh(Int64(2)) |
+--------------------+
| 3.7621956910836314 |
+--------------------+

exp

返回数字的以 e 为底的指数。

exp(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 exp 示例
SELECT exp(1);
+-------------------+
| exp(Int64(1)) |
+-------------------+
| 2.718281828459045 |
+-------------------+

factorial

阶乘。如果值小于 2,则返回 1。

factorial(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 factorial 示例
SELECT factorial(5);
+---------------------+
| factorial(Int64(5)) |
+---------------------+
| 120 |
+---------------------+

floor

向下取整。

floor(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 floor 示例
SELECT floor(-3.1);
+----------------------+
| floor(Float64(-3.1)) |
+----------------------+
| -4.0 |
+----------------------+

gcd

返回 expression_xexpression_y 的最大公约数。如果两个输入均为零,则返回 0。

gcd(expression_x, expression_y)
参数描述
expression_x可以是常量、列或函数,也可以是算术运算符的任意组合。
expression_y可以是常数、列或函数,也可以是算术运算符的任意组合。
查看 gcd 示例
SELECT gcd(24,36);
+--------------------------+
| gcd(Int64(24),Int64(36)) |
+--------------------------+
| 12 |
+--------------------------+

lcm

返回 expression_xexpression_y 的最小公倍数。如果任一输入值为零,则返回 0。

lcm(expression_x, expression_y)
参数描述
expression_x可以是常量、列或函数,也可以是算术运算符的任意组合。
expression_y可以是常数、列或函数,也可以是算术运算符的任意组合。
查看 lcm 示例
SELECT lcm(4, 7);
+------------------------+
| lcm(Int64(4),Int64(7)) |
+------------------------+
| 28 |
+------------------------+

ln

返回数字的自然对数。

ln(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 ln 示例
SELECT ln(5);
+--------------------+
| ln(Int64(5)) |
+--------------------+
| 1.6094379124341003 |
+--------------------+

log

返回数字的 x 底对数。可以提供指定的基数,或者如果省略,则采用数字的基数 10。

log(base, numeric_expression)
log(numeric_expression)
参数描述
base基数:可以是常数、列或函数,也可以是算术运算符的任意组合。
numeric_expression要操作的数字表达式。可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 log 示例
SELECT log(10, 2);
+-------------------------+
| log(Int64(10),Int64(2)) |
+-------------------------+
| 0.30102998 |
+-------------------------+

log10

返回数字的以 10 为底的对数。

log10(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 log10 示例
SELECT log10(2);
+--------------------+
| log10(Int64(2)) |
+--------------------+
| 0.3010299956639812 |
+--------------------+

log2

返回一个数字的基 2 对数。

log2(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 log2 示例
SELECT log2(2);
+----------------+
| log2(Int64(2)) |
+----------------+
| 1.0 |
+----------------+

pi

返回 π 的近似值。

pi()
查看 pi 示例
SELECT pi();
+-------------------+
| pi() |
+-------------------+
| 3.141592653589793 |
+-------------------+

power

返回基数表达式的指数幂。

power(base, exponent)
参数描述
base要操作的数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。
exponent要运算的指数数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。
查看 power 示例
SELECT power(10, 2);
+---------------------------+
| power(Int64(10),Int64(2)) |
+---------------------------+
| 100 |
+---------------------------+

pow

power 的别名

radians

将度数转换为弧度。

radians(numeric_expression)
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 radians 示例
SELECT radians(10);
+---------------------+
| radians(Int64(10)) |
+---------------------+
| 0.17453292519943295 |
+---------------------+

random

返回 0 -1 范围内的随机浮点值。随机种子对于每一行都是唯一的。

random()
查看 random 示例
SELECT random();
+--------------------+
| random() |
+--------------------+
| 0.9232278829675913 |
+--------------------+

round

将数字四舍五入为最接近的整数。

round(numeric_expression[, decimal_places])
参数描述
numeric_expression要操作的数字表达式。可以是常量、列或函数,也可以是算术运算符的任意组合。
decimal_places小数位:可选。要舍入的小数位数。默认为 0。
查看 round 示例
SELECT round(2.3);
+---------------------+
| round(Float64(2.3)) |
+---------------------+
| 2.0 |
+---------------------+

signum

返回数字的符号。负数返回 -1。零和正数返回 1

signum(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 signum 示例
SELECT signum(10);
+-------------------+
| signum(Int64(10)) |
+-------------------+
| 1.0 |
+-------------------+

sin

返回一个数字的正弦值。

sin(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 sin 示例
SELECT sin(5);

+---------------------+
| sin(Int64(5)) |
+---------------------+
| -0.9589242746631385 |
+---------------------+

sinh

返回一个数字的双曲正弦值。

sinh(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 sinh 示例
SELECT sinh(2);
+-------------------+
| sinh(Int64(2)) |
+-------------------+
| 3.626860407847019 |
+-------------------+

sqrt

返回一个数字的平方根。

sqrt(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 sqrt 示例
SELECT sqrt(25);
+-----------------+
| sqrt(Int64(25)) |
+-----------------+
| 5.0 |
+-----------------+

tan

返回一个数字的正切值。

tan(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 tan 示例
SELECT tan(10);
+--------------------+
| tan(Int64(10)) |
+--------------------+
| 0.6483608274590866 |
+--------------------+

tanh

返回一个数字的双曲正切值。

tanh(numeric_expression)
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
查看 tanh 示例
SELECT tanh(10);
+--------------------+
| tanh(Int64(10)) |
+--------------------+
| 0.9999999958776927 |
+--------------------+

trunc

将数字截断为整数或截断至指定的小数位。

trunc(numeric_expression[, decimal_places])
参数描述
numeric_expression可以是常量、列或函数,也可以是算术运算符的任意组合。
decimal_places小数位:可选。要截断到的小数位数。默认为 0(截断为整数)。如果decimal_places是正整数,则截断小数点右侧的数字。如果decimal_places是负整数,则用0替换小数点左边的数字。
查看 trunc 示例
SELECT trunc(3.1415926, 2);