⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Numeric Functions

数值运算符

下表显示了可用于数值类型的数学运算符。

Operator Description Example Result
+ 加法 2 + 3 5
- 减法 2 - 3 -1
* 乘法 2 * 3 6
/ 浮点数除法 5 / 2 2.5
// 除法 5 // 2 2
% 取模(余数) 5 % 4 1
** 指数 3 ** 4 81
^ 指数(** 的别名) 3 ^ 4 81
& 按位与 91 & 15 11
| 按位或 32 | 3 35
<< 按位左移 1 << 4 16
>> 按位右移 8 >> 2 2
~ 按位取反 ~15 -16
! x 的阶乘 4! 24

除法和取模运算符

有两种除法运算符:///。 当至少有一个操作数是 FLOATDOUBLE 时,它们是等价的。 当两个操作数都是整数时,/ 执行浮点除法(5 / 2 = 2.5),而 // 执行整数除法(5 // 2 = 2)。

支持的类型

取模、位运算、取反和阶乘运算符仅适用于整数数据类型,而其他运算符适用于所有数值数据类型。

数值函数

下表显示了可用的数学函数。

Name Description
@(x) 绝对值。如果x是列名,括号是可选的。
abs(x) 绝对值。
acos(x) 计算 x 的反余弦值。
add(x, y) x + y 的别名。
asin(x) 计算 x 的反正弦值。
atan(x) 计算 x 的反正切值。
atan2(y, x) 计算反正切 (y, x)
bit_count(x) 返回设置的位数。
cbrt(x) 返回数字的立方根。
ceil(x) 将数字向上取整。
ceiling(x) 将数字向上取整。ceil的别名。
cos(x) 计算 x 的余弦值。
cot(x) 计算 x 的余切值。
degrees(x) 将弧度转换为角度。
divide(x, y) x // y 的别名。
even(x) 通过向远离零的方向舍入到下一个偶数。
exp(x) 计算 e ** x
factorial(x) 参见 ! 操作符。计算当前整数及其以下所有整数的乘积。
fdiv(x, y) 执行整数除法(x // y),但返回一个DOUBLE值。
floor(x) 将数字向下取整。
fmod(x, y) 计算模数值。总是返回一个DOUBLE值。
gamma(x) x - 1 的阶乘进行插值。允许输入分数。
gcd(x, y) 计算 xy 的最大公约数。
greatest_common_divisor(x, y) 计算 xy 的最大公约数。
greatest(x1, x2, ...) 选择最大的值。
isfinite(x) 如果浮点值是有限的,则返回true,否则返回false。
isinf(x) 如果浮点值是无限的,则返回 true,否则返回 false。
isnan(x) 如果浮点值不是数字,则返回true,否则返回false。
lcm(x, y) 计算 xy 的最小公倍数。
least_common_multiple(x, y) 计算 xy 的最小公倍数。
least(x1, x2, ...) 选择最小的值。
lgamma(x) 计算gamma函数的对数。
ln(x) 计算 x 的自然对数。
log(x) 计算 x 的以10为底的对数。
log10(x) log 的别名。计算 x 的以10为底的对数。
log2(x) 计算x的以2为底的对数。
multiply(x, y) x * y 的别名。
nextafter(x, y) 返回在y方向上x之后的下一个浮点值。
pi() 返回pi的值。
pow(x, y) 计算 xy 次方。
power(x, y) pow 的别名。计算 xy 次方。
radians(x) 将度数转换为弧度。
random() 返回一个在范围 0.0 <= x < 1.0 内的随机数 x
round_even(v NUMERIC, s INTEGER) roundbankers(v, s) 的别名。使用四舍六入五成双规则将数值四舍五入到 s 位小数。允许 s < 0 的值。
round(v NUMERIC, s INTEGER) 四舍五入到 s 位小数。允许 s < 0 的值。
setseed(x) 设置用于随机函数的种子。
sign(x) 返回 x 的符号,为 -1、0 或 1。
signbit(x) 返回是否设置了符号位。
sin(x) 计算 x 的正弦值。
sqrt(x) 返回数字的平方根。
subtract(x, y) x - y 的别名。
tan(x) 计算 x 的正切值。
trunc(x) 截断数字。
xor(x, y) 按位异或。

@(x)

描述 绝对值。如果x是列名,括号是可选的。
示例 @(-17.4)
结果 17.4
别名 abs

abs(x)

描述 绝对值。
示例 abs(-17.4)
结果 17.4
别名 @

acos(x)

描述 计算x的反余弦值。
示例 acos(0.5)
结果 1.0471975511965976

add(x, y)

描述 x + y 的别名。
示例 add(2, 3)
Result 5

asin(x)

描述 计算x的反正弦值。
示例 asin(0.5)
结果 0.5235987755982989

atan(x)

描述 计算x的反正切值。
示例 atan(0.5)
结果 0.4636476090008061

atan2(y, x)

描述 计算反正切值 (y, x)。
示例 atan2(0.5, 0.5)
结果 0.7853981633974483

bit_count(x)

描述 返回设置的位数。
示例 bit_count(31)
Result 5

cbrt(x)

描述 返回数字的立方根。
示例 cbrt(8)
Result 2

ceil(x)

描述 将数字向上取整。
示例 ceil(17.4)
结果 18

ceiling(x)

描述 将数字向上取整。ceil 的别名。
示例 ceiling(17.4)
结果 18

cos(x)

描述 计算x的余弦值。
示例 cos(90)
结果 -0.4480736161291701

cot(x)

描述 计算x的余切。
示例 cot(0.5)
结果 1.830487721712452

degrees(x)

描述 将弧度转换为角度。
示例 degrees(pi())
结果 180

divide(x, y)

描述 x // y 的别名。
示例 divide(5, 2)
Result 2

even(x)

描述 通过向远离零的方向舍入到下一个偶数。
示例 even(2.9)
Result 4

exp(x)

描述 计算 e ** x
示例 exp(0.693)
Result 2

factorial(x)

描述 参见 ! 运算符。计算当前整数及其以下所有整数的乘积。
示例 factorial(4)
结果 24

fdiv(x, y)

描述 执行整数除法(x // y),但返回一个DOUBLE类型的值。
示例 fdiv(5, 2)
结果 2.0

floor(x)

描述 将数字向下取整。
示例 floor(17.4)
结果 17

fmod(x, y)

描述 计算模值。始终返回一个DOUBLE类型的值。
示例 fmod(5, 2)
结果 1.0

gamma(x)

描述 x - 1的阶乘进行插值。允许输入分数。
示例 gamma(5.5)
结果 52.34277778455352

gcd(x, y)

描述 计算xy的最大公约数。
示例 gcd(42, 57)
Result 3

greatest_common_divisor(x, y)

描述 计算xy的最大公约数。
示例 greatest_common_divisor(42, 57)
Result 3

greatest(x1, x2, ...)

描述 选择最大值。
示例 greatest(3, 2, 4, 4)
Result 4

isfinite(x)

描述 如果浮点值是有限的,则返回 true,否则返回 false。
示例 isfinite(5.5)
Result true

isinf(x)

描述 如果浮点值是无限的,则返回 true,否则返回 false。
示例 isinf('Infinity'::float)
Result true

isnan(x)

描述 如果浮点值不是数字,则返回 true,否则返回 false。
示例 isnan('NaN'::float)
Result true

lcm(x, y)

描述 计算xy的最小公倍数。
示例 lcm(42, 57)
结果 798

least_common_multiple(x, y)

描述 计算 xy 的最小公倍数。
示例 least_common_multiple(42, 57)
结果 798

least(x1, x2, ...)

描述 选择最小的值。
示例 least(3, 2, 4, 4)
Result 2

lgamma(x)

描述 计算gamma函数的对数。
示例 lgamma(2)
结果 0

ln(x)

描述 计算x的自然对数。
示例 ln(2)
结果 0.693

log(x)

描述 计算x的以10为底的对数。
示例 log(100)
Result 2

log10(x)

描述 log 的别名。计算 x 的以10为底的对数。
示例 log10(1000)
Result 3

log2(x)

描述 计算x的以2为底的对数。
示例 log2(8)
Result 3

multiply(x, y)

描述 x * y 的别名。
示例 multiply(2, 3)
Result 6

nextafter(x, y)

描述 返回在y方向上x之后的下一个浮点值。
示例 nextafter(1::float, 2::float)
结果 1.0000001

pi()

描述 返回pi的值。
示例 pi()
结果 3.141592653589793

pow(x, y)

描述 计算 xy 次方。
示例 pow(2, 3)
结果 8

power(x, y)

描述 pow 的别名。计算 xy 次方。
示例 power(2, 3)
结果 8

radians(x)

描述 将度数转换为弧度。
示例 radians(90)
结果 1.5707963267948966

random()

描述 返回一个在范围 0.0 <= x < 1.0 内的随机数 x
示例 random()
Result various

round_even(v NUMERIC, s INTEGER)

描述 roundbankers(v, s) 的别名。使用四舍六入五成双规则将数值四舍五入到 s 位小数。允许 s < 0 的值。
示例 round_even(24.5, 0)
结果 24.0

round(v NUMERIC, s INTEGER)

描述 四舍五入到s位小数。允许s < 0的值。
示例 round(42.4332, 2)
结果 42.43

setseed(x)

描述 设置用于随机函数的种子。
示例 setseed(0.42)

sign(x)

描述 返回x的符号,为-1、0或1。
示例 sign(-349)
结果 -1

signbit(x)

描述 返回是否设置了符号位。
示例 signbit(-1.0)
Result true

sin(x)

描述 计算x的正弦值。
示例 sin(90)
结果 0.8939966636005579

sqrt(x)

描述 返回数字的平方根。
示例 sqrt(9)
Result 3

subtract(x, y)

描述 x - y 的别名。
示例 subtract(2, 3)
结果 -1

tan(x)

描述 计算x的正切值。
示例 tan(90)
结果 -1.995200412208242

trunc(x)

描述 截断数字。
示例 trunc(17.4)
Result 17

xor(x, y)

描述 按位异或。
示例 xor(17, 5)
Result 20