SELECT abs(-1314) AS result FROM system.dual LIMIT 1;
复制
简单求值
abs
函数语法 | 返回类型 | 描述 |
---|---|---|
abs(a) |
DOUBLE |
返回 a 的绝对值。 |
参数说明:
-
a:任意做绝对值运算的实数,支持 DOUBLE 类型。
注意事项:
-
a 不支持输入 NULL 或空串。
使用示例:
返回示例:
+---------+ | result | +---------+ | 1314 | +---------+
复制
ceil/ceiling
函数语法 | 返回类型 | 描述 |
---|---|---|
ceil(double a) 或 ceiling(double a) |
BIGINT |
返回不小于 a 的最小整数。 |
参数说明:
-
a:任意实数。
注意事项:
-
当 a 为 NULL 时,返回 NULL。
使用示例:
SELECT ceil(2.01) AS result_ceil, ceiling(2.01) AS result_ceiling FROM system.dual LIMIT 1;
复制
返回示例:
+--------------+-----------------+ | result_ceil | result_ceiling | +--------------+-----------------+ | 3 | 3 | +--------------+-----------------+
复制
div
函数语法 | 返回类型 | 描述 |
---|---|---|
A div B |
Integer |
返回整数除法运算的商,舍去小数部分,只保留整数部分。 |
参数说明:
-
A:被除数。
-
B:除数。
注意事项:
-
任意参数 A 或 B 为 NULL 时,结果返回 NULL。
-
参数 A 或 B 目前只支持输入整数。
使用示例:
计算 10 除以 3 的商。
SELECT 10 div 3 AS result;
复制
返回示例:
+---------+ | result | +---------+ | 3 | +---------+
复制
e
函数语法 | 返回类型 | 描述 |
---|---|---|
e() |
DOUBLE |
返回自然常数 e,保留到小数点后 15 位。 |
使用示例:
SELECT e() AS result FROM system.dual;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 2.718281828459045 | +--------------------+
复制
factorial
函数语法 | 返回类型 | 描述 |
---|---|---|
factorial(n) |
BIGINT |
返回 n 的阶乘。如果 n 的值不属于 [0,20],返回 NULL。 |
参数说明:
-
n:进行阶层计算的数。
注意事项:
-
如果 n 为小数,则返回整数位的阶乘,如 factorial(12.9)=factorial(12)。
-
当 n 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT factorial(20) AS result FROM system.dual;
复制
返回示例:
+----------------------+ | result | +----------------------+ | 2432902008176640000 | +----------------------+
复制
floor
函数语法 | 返回类型 | 描述 |
---|---|---|
floor(double a) |
BIGINT |
返回不大于 a 的最大整数。 |
参数说明:
-
a:任意实数。
注意事项:
-
当 a 为 NULL 时,返回 NULL。
使用示例:
SELECT floor(1.314) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 1 | +---------+
复制
least
函数语法 | 返回类型 | 描述 |
---|---|---|
least (<arg>, <arg> [,<arg>, …]) |
基础数据类型 |
需要至少两个标量参数,返回相对最小的参数。 |
参数说明:
-
arg:进行比较的参数,支持基础数据类型。
注意事项:
-
当参数 arg 都为 NULL,则返回 NULL。
-
当参数 arg 都为空串,则返回空。
-
当参数同时包含 NULL 及空串,则返回 NULL。
使用示例:
SELECT least(2, 3, 1) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 1 | +---------+
复制
max_scalar
函数语法 | 返回类型 | 描述 |
---|---|---|
max_scalar(<scalar>, <scalar> [, <scalar>, …]) |
数值类型 |
需要至少两个标量参数,返回所有参数中最大的。 |
参数说明:
-
scalar:任意实数,且所有参数的数据类型必须一致。
注意事项:
-
当参数 scalar 均为 NULL 时,返回 NULL,均为空串时返回空。
-
当参数为位数不同的小数时,保留参数中的最小有效位数,然后四舍五入之后再进行比较。
SELECT max_scalar(-1.00,1.32,-2.453) ; -- 返回结果: +------+ | _c0 | +------+ | 1 | +------+
复制
使用示例:
SELECT max_scalar(1, 4, 8) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 8 | +---------+
复制
min_scalar
函数语法 | 返回类型 | 描述 |
---|---|---|
min_scalar(<scalar>, <scalar> [, <scalar>, …]) |
数值类型 |
需要至少两个标量参数。返回所有参数中最小的。 |
参数说明:
-
scalar:任意实数,且所有参数的数据类型必须一致。
注意事项:
-
当参数 scalar 均为 NULL 时,返回 NULL;均为空串时返回空。
-
当参数为位数不同的小数时,保留参数中的最小有效位数,然后四舍五入之后再进行比较。
SELECT min_scalar(-1.00,1.32,-2.453) ; -- 返回结果: +------+ | _c0 | +------+ | -2 | +------+
复制
使用示例:
SELECT min_scalar(1,4,8) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 1 | +---------+
复制
negative
函数语法 | 返回类型 | 描述 |
---|---|---|
negative(a) |
NUMERIC |
返回 -a。 |
参数说明:
-
a:任意实数。
注意事项:
-
若 a 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT negative(1) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | -1 | +---------+
复制
pi
函数语法 | 返回类型 | 描述 |
---|---|---|
pi() |
DOUBLE |
返回 pi 的值,保留到小数点后 15 位。 |
使用示例:
SELECT pi() AS result FROM system.dual;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 3.141592653589793 | +--------------------+
复制
pmod
函数语法 | 返回类型 | 描述 |
---|---|---|
pmod(int a, int b) |
NUMERIC |
返回正的取模,公式: |
参数说明:
-
a:任意整数。
-
b:任意整数。
注意事项:
-
任意参数为 NULL 或空串,则返回 NULL。
使用示例:
SELECT pmod(-4,3) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 2 | +---------+
复制
positive
函数语法 | 返回类型 | 描述 |
---|---|---|
positive(a) |
NUMERIC |
直接返回 a。 |
参数说明:
-
a:任意实数。
注意事项:
-
若 a 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT positive(-1) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | -1 | +---------+
复制
prime
函数语法 | 返回类型 | 描述 |
---|---|---|
prime(a) |
INT |
返回与参数 a 最相邻的质数。若存在两个最相邻质数,返回较小的相邻质数 |
参数说明:
-
a:任意正整数
注意事项:
-
若参数 a 为质数,则返回自身。
-
若参数 a 为 0 或负整数,则返回 NULL。
-
参数 a 不支持 NULL 或空串
使用示例:
与 4 最相邻质数为 3 和 5,返回较小的一个:
SELECT prime(4) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3 | +---------+
复制
rand
函数语法 | 返回类型 | 描述 |
---|---|---|
rand([seed]) |
DOUBLE |
生成 0-1 之间的随机数。 |
参数说明:
-
seed:可选参数,支持任何整数。
-
未指定 seed 时随机返回 0-1 的随机数。
-
指定 seed 时,相同的 seed 得到的随机数结果是一样的。例如每次rand(100)的值都是一样的。
-
注意事项:
-
当 seed 为 Boolean 类型时,会自动转换 true 为 1,false 为 0。
-
seed 不支持输入 NULL 或空串。
使用示例:
SELECT rand(100) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 0.7220096548596434 | +---------------------+
复制
round
函数语法 | 返回类型 | 描述 |
---|---|---|
round(a[, d]) |
BIGINT |
对 a 四舍五入,并返回小数点后 d 位的结果。 |
参数说明:
-
a:被四舍五入运算的数据。
-
d:可选参数,指定四舍五入保留小数点后第 d 位。未指定d时,默认为 0。
注意事项:
-
任意一个参数为 NULL,则返回 NULL。
-
如果 d 大于 a 的小数位数,则返回 a。
使用示例:
SELECT round(1.4523,3) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 1.452 | +---------+
复制
shiftleft
函数语法 | 返回类型 | 描述 |
---|---|---|
shiftleft(n, k) |
数值类型 |
返回整数 n 左移 k 位后的数值。当 n 为 TINYINT、SMALLINT 和 INT 类型时,返回 INT 类型,当 n 为 BIGINT 时,则返回 BIGINT。 |
参数说明:
-
n:支持所有的整数值类型,如 TINYINT、SMALLINT、INT 和 BIGINT。
-
k:只支持 INT 型。
注意事项:
-
当任意参数 n 或 k 为 NULL 时,结果返回 NULL。
-
任意参数都不支持为空串。
使用示例:
SELECT shiftleft(8,1) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 16 | +---------+
复制
shiftright
函数语法 | 返回类型 | 描述 |
---|---|---|
shiftright(n, k) |
数值类型 |
返回整数n右移k位后的数值。当 n 为 TINYINT、SMALLINT 和 INT 类型时,返回 INT 类型,当 n 为 BIGINT 时,则返回 BIGINT。 |
参数说明:
-
n:支持所有的整数值类型,如 TINYINT、SMALLINT、INT 和 BIGINT。
-
k:只支持 INT 型。
注意事项:
-
当任意参数 n 或 k 为 NULL 时,结果返回 NULL。
-
任意参数都不支持为空串。
使用示例:
SELECT shiftright(8,1) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 4 | +---------+
复制
shiftrightunsigned
函数语法 | 返回类型 | 描述 |
---|---|---|
shiftrightunsigned(n, int k) |
数值类型 |
返回整数 n 无符号右移 k 位后的数值。当 n 为 TINYINT、SMALLINT 和 INT 类型时,返回 INT 类型,当 n 为 BIGINT 时,则返回 BIGINT。 |
参数说明:
-
n:支持所有的整数值类型,如 TINYINT、SMALLINT、INT 和 BIGINT。
-
k:右移的位数,只支持 INT 型。
注意事项:
-
当任意参数 n 或 k 为 NULL 时,结果返回 NULL。
-
任意参数都不支持为空串。
使用示例:
SELECT shiftrightunsigned(-8,1) AS result FROM system.dual;
复制
返回示例:
+-------------+ | result | +-------------+ | 2147483644 | +-------------+
复制
sign
函数语法 | 返回类型 | 描述 |
---|---|---|
sign(x) |
DOUBLE |
判断正负,x 为正则返回 1,为负则返回 -1,为 0 则返回 0。 |
参数说明:
-
x:任意实数
注意事项:
-
若 x 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT sign(-10) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | -1 | +---------+
复制
trunc
函数语法 | 返回类型 | 描述 |
---|---|---|
trunc (number, precision) |
数值类型 |
需要两个参数:一个数字 number,和精度 precision(小数点后保留的位数)。该函数将 number 截到指定的 precision。 |
参数说明:
-
number:被截取的数据。
-
precision:精度,小数点保留的位数。
注意事项:
-
当精度 precision 为小数时,按照整数位计算,如 trunc(123.456, 2.9) 表示保留 2 位小数。
-
参数只支持数值类型,不支持 NULL 或空串。
使用示例:
SELECT trunc(123.456, 1) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 123.4 | +---------+
复制
幂/方根/对数
cbrt
函数语法 | 返回类型 | 描述 |
---|---|---|
cbrt(a) |
DOUBLE |
计算参数a的实立方根。 |
参数说明:
-
a:立方根计算的底数,支持任意数值类型。
注意事项:
-
当参数 a 为 NULL 时,返回 NULL。
使用示例:
SELECT cbrt(27) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 3.0 | +---------+
复制
exp
函数语法 | 返回类型 | 描述 |
---|---|---|
exp(n) |
DOUBLE |
返回 e 的 n 次方 |
参数说明:
-
n:自然数的次方数,支持 DOUBLE 型。
注意事项:
-
当参数 n 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT exp(1) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 2.718281828459045 | +--------------------+
复制
ln
函数语法 | 返回类型 | 描述 |
---|---|---|
ln(a) |
DOUBLE |
返回指定值的自然对数 |
参数说明:
-
a:进行对数计算的值,支持 DOUBLE 型。
注意事项:
-
若参数 a 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT ln(exp(1.314)) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 1.314 | +---------+
复制
log10
函数语法 | 返回类型 | 描述 |
---|---|---|
log10(a) |
DOUBLE |
返回a以10为底的对数 |
参数说明:
-
a:进行对数计算的值,支持 DOUBLE 型。
注意事项:
-
若参数 a 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT log10(100) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 2.0 | +---------+
复制
log2
函数语法 | 返回类型 | 描述 |
---|---|---|
log2(a) |
DOUBLE |
返回a以2为底的对数 |
参数说明:
-
a:进行对数计算的值,支持 DOUBLE 型。
注意事项:
-
若参数 a 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT log2(4) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 2.0 | +---------+
复制
log
函数语法 | 返回类型 | 描述 |
---|---|---|
log(base, a) |
DOUBLE |
返回a以base为底的对数 |
参数说明:
-
a:进行对数计算的值,支持 DOUBLE 型。
-
base:对数计算中作为底的参数,支持 DOUBLE 型。
注意事项:
-
若任意参数 a 或 base 为 NULL 或空串,则返回 NULL。
使用示例:
SELECT log(10,100) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 2.0 | +---------+
复制
pow/power
函数语法 | 返回类型 | 描述 |
---|---|---|
pow(a, p 或 power(a,p) |
DOUBLE |
返回a的p次幂 |
参数说明:
-
a:进行幂次方计算的底数,支持 DOUBLE 型。
-
p:幂次方计算的次方数,支持 DOUBLE 型。
注意事项:
-
任意参数 a 或 p 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT pow(10,2) AS result_pow, power(10,2) AS result_power FROM system.dual LIMIT 1;
复制
返回示例:
+-------------+---------------+ | result_pow | result_power | +-------------+---------------+ | 100.0 | 100.0 | +-------------+---------------+
复制
sqrt
函数语法 | 返回类型 | 描述 |
---|---|---|
sqrt(a) |
DOUBLE |
返回a的平方根 |
参数说明:
-
a:平方根计算的底数,支持 DOUBLE 型。
注意事项:
-
当 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT sqrt(100) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 10.0 | +---------+
复制
进制/度量转换
bin
函数语法 | 返回类型 | 描述 |
---|---|---|
bin(a) |
STRING |
返回二进制格式。 |
参数说明:
-
a:进行二进制转换的数,支持 BIGINT 类型。
注意事项:
-
当参数 a 为 NULL 时,返回 NULL。
使用示例:
SELECT bin(10) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 1010 | +---------+
复制
conv
函数语法 | 返回类型 | 描述 |
---|---|---|
conv(num, from_base, to_base) |
STRING |
度量体系转化,将指定数值num,由原来的度量体系 from_base 转换为指定的度量体系 to_base 。 |
参数说明:
-
num:需要进行度量转换的参数,支持 BIGINT 和 STRING 类型。
-
from_base:初始的度量体系,支持 INT 型。
-
to_base:目标转换度量体现,支持 INT 型
注意事项:
-
任一参数为 NULL 或空串,则返回结果为 NULL。
-
num 可以为 int,也可以是数字字符串。
-
度量体系的取值范围为 2-36。
-
num 没有符号,默认为无符号数,如果 num 带有“-”号,则为负数。
使用示例:
SELECT conv(100, 2, 10) AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 4 | +---------+
复制
degrees
函数语法 | 返回类型 | 描述 |
---|---|---|
degrees(rad) |
DOUBLE |
把弧度制的rad转化为角度。 |
参数说明:
-
rad:需要进行转换的弧度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 rad 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT degrees(pi()) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 180.0 | +---------+
复制
hex
函数语法 | 返回类型 | 描述 |
---|---|---|
hex(a) |
STRING |
将一个字符串或数字转换为十六进制格式的字符串 |
参数说明:
-
a:进行十六进制转换的参数,支持 BIGINT 或 STRING 类型。
注意事项:
-
如果参数为 BIGINT 或者 BINARY,函数将参数的十六进制以字符串形式输出。
-
如果参数为字符串,函数按顺序将各个字符的十六进制 ascii 码以字符串形式输出。
使用示例:
SELECT hex(16) AS result_bigint, hex('16') AS result_string FROM system.dual LIMIT 1 ;
复制
返回示例:
+----------------+----------------+ | result_bigint | result_string | +----------------+----------------+ | 10 | 3136 | +----------------+----------------+
复制
radians
函数语法 | 返回类型 | 描述 |
---|---|---|
radians(ang) |
DOUBLE |
把角度制的ang转化为弧度。 |
参数说明:
-
ang:需要传换为弧度制的角度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 ang 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT radians(180) AS result FROM system.dual;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 3.141592653589793 | +--------------------+
复制
unhex
函数语法 | 返回类型 | 描述 |
---|---|---|
unhex(a) |
STRING |
将 ascii 码十六进制的字符串转化为二进制格式。 |
参数说明:
-
a:ascii 码十六进制格式的字符串。
注意事项:
-
参数 a 只接受字符格式,即使输入数值类型也转化为字符格式再转化为二进制。
-
如果参数 a 为任何非十六进制的数字或空串时,则返回空。
-
若参数 a 为 NULL,则返回 NULL。
使用示例:
SELECT unhex(3136) AS result FROM system.dual LIMIT 1 ;
复制
返回示例:
+---------+ | result | +---------+ | 16 | +---------+
复制
三角函数
sin
函数语法 | 返回类型 | 描述 |
---|---|---|
sin(a) |
DOUBLE |
返回 a 的正弦值,其中 a 是弧度制。 |
参数说明:
-
a:进行正弦计算的弧度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT sin(pi()/2) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 1.0 | +---------+
复制
sinh
函数语法 | 返回类型 | 描述 |
---|---|---|
sinh(a) |
DOUBLE |
计算并返回指定数值的双曲正弦值,以弧度为单位。 |
参数说明:
-
a:进行双曲正弦计算的弧度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
计算 1.5
的双曲正弦值。
SELECT sinh(1.5) AS result;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 2.1292794550948173 | +---------------------+
复制
asin
函数语法 | 返回类型 | 描述 |
---|---|---|
asin(a) |
DOUBLE |
返回 a 的反正弦值,a 必须大于 -1 小于 1,否则返回 NaN。 |
参数说明:
-
a:进行反正弦计算的弧度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT asin(1) AS result FROM system.dual;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 1.5707963267948966 | +---------------------+
复制
asinh
函数语法 | 返回类型 | 描述 |
---|---|---|
asinh(a) |
DOUBLE |
计算并返回指定数值的反双曲正弦值,以弧度为单位。 |
参数说明:
double a:要计算反双曲正弦值的数,支持 DOUBLE 类型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
-
如果希望以度为单位表示反正切值,您可以将结果乘以 180/PI( ),或使用 degrees 函数。
使用示例:
计算数值 2 的反双曲正弦值。
SELECT asinh(2) AS result;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 1.4436354751788103 | +---------------------+
复制
cos
函数语法 | 返回类型 | 描述 |
---|---|---|
cos(a) |
DOUBLE |
返回a的余弦值,其中a是弧度制。 |
参数说明:
-
a:进行余弦计算的弧度制参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT cos(pi()) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | -1.0 | +---------+
复制
cosh
函数语法 | 返回类型 | 描述 |
---|---|---|
cosh(a) |
DOUBLE |
计算并返回指定数值的双曲余弦值,以弧度为单位。 |
参数说明:
-
a:要计算双曲余弦值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
计算输入值为 1.5
的双曲余弦值。
SELECT cosh(1.5) AS result;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 2.352409615243247 | +--------------------+
复制
acosh
函数语法 | 返回类型 | 描述 |
---|---|---|
acosh(a) |
DOUBLE |
计算并返回指定数值的反双曲余弦值,以弧度为单位。 |
参数说明:
-
a:要计算反双曲余弦值的参数,必须大于等于 1,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
计算 3 的反双曲余弦值。
SELECT acosh(3) AS result;
复制
返回示例:
+--------------------+ | result | +--------------------+ | 1.762747174039086 | +--------------------+
复制
acos
函数语法 | 返回类型 | 描述 |
---|---|---|
acos(a) |
DOUBLE |
返回a的反余弦值,其中 a 是弧度制。a 必须大于 -1 小于 1,否则返回 NaN。 |
参数说明:
-
a:要计算反余弦值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT acos(1) AS result FROM system.dual;
复制
返回示例:
+---------+ | result | +---------+ | 0.0 | +---------+
复制
tan
函数语法 | 返回类型 | 描述 |
---|---|---|
tan(a) |
DOUBLE |
返回a的正切值,其中a是弧度制。 |
参数说明:
-
a:要计算正值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT tan(pi()/4) AS result FROM system.dual;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 0.9999999999999999 | +---------------------+
复制
tanh
函数语法 | 返回类型 | 描述 |
---|---|---|
tanh(a) |
DOUBLE |
计算并返回指定数值的双曲正切值,以弧度为单位。 |
参数说明:
-
a:要计算双曲正切值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
在 SQL 中计算 0.5 的双曲正切值。
SELECT tanh(0.5) AS result;
复制
返回示例:
+----------------------+ | result | +----------------------+ | 0.46211715726000974 | +----------------------+
复制
atan
函数语法 | 返回类型 | 描述 |
---|---|---|
atan(a) |
DOUBLE |
返回a的余切值,其中a是弧度制。 |
参数说明:
-
a:要计算余切值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
SELECT atan(1) AS result FROM system.dual;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 0.7853981633974483 | +---------------------+
复制
atan2
函数语法 | 返回类型 | 描述 |
---|---|---|
atan2(x, y) |
DOUBLE |
计算 X 轴及 Y 轴坐标值的反正切值,以弧度为单位。 |
参数说明:
-
x:点的横坐标。
-
y:点的纵坐标。
注意事项:
-
任意参数为 NULL,则返回 NULL。
-
如果希望以度为单位表示反正切值,您可以将结果乘以 180/PI( ),或使用 degrees 函数。
-
结果为正表示从 X 轴逆时针旋转的角度,结果为负表示从 X 轴顺时针旋转的角度。
使用示例:
计算点 (1, 1) 相对于原点 (0, 0) 的反正切值。
SELECT atan2(-1, -1) AS result;
复制
返回示例:
+---------------------+ | result | +---------------------+ | -2.356194490192345 | +---------------------+
复制
atanh
函数语法 | 返回类型 | 描述 |
---|---|---|
atanh(a) |
DOUBLE |
返回指定指的反双曲正切值,以弧度为单位。a 必须大于 -1 小于 1,否则返回 NaN。 |
参数说明:
-
a:要计算反双曲正切值的参数,支持 DOUBLE 型。
注意事项:
-
当参数 a 为 NULL 或空串时,返回 NULL。
使用示例:
计算 0.5 的反双曲正切值。
SELECT atanh(0.5) AS result;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 0.5493061443340549 | +---------------------+
复制
线性回归函数
Inceptor 提供以下线性回归函数(Linear Regression Functions),适用于使用最小二乘法对两列(自变量与因变量)的依赖关系进行回归分析的场景。
本小节用例使用表 regrTable 如下:
regr_id | price1 | price2 |
---|---|---|
1 |
10 |
5 |
2 |
20 |
10 |
3 |
30 |
15 |
4 |
40 |
10 |
5 |
50 |
20 |
6 |
60 |
30 |
7 |
70 |
15 |
8 |
80 |
20 |
9 |
90 |
60 |
10 |
100 |
40 |
11 |
110 |
50 |
12 |
120 |
100 |
regr_intercept
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_intercept(y, x) |
DOUBLE |
返回拟合所给两列数据的回归线的 y 截距。 |
参数说明:
-
y、x:计算两列数据回归线 y 截距时所涉及的列名称,必须是数值类型。
注意事项:
-
两列数据的回归线的 y 截距计算公式为:
(SUM(y)*SUM(x*x)-SUM(x)*SUM(x*y))/(N*SUM(x*x)-SUM(x)*SUM(x))
-
N:值都不为空的数据对的数量。
-
如果N*SUM(x*x)=SUM(x)*SUM(x),将会返回 NULL。
-
使用示例:
SELECT regr_intercept(price2, price1) AS result FROM regrtable;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 31.062079281974576 | +---------------------+
复制
regr_r2
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_r2(y, x) |
DOUBLE |
返回拟合所给两列数据的回归线的决定系数。 |
参数说明:
-
y、x:计算两列数据回归线的决定系数时所涉及的列名称,必须是数值类型。
注意事项:
-
两列数据回归线的决定系数计算公式为:
POWER(N*SUM(x*y)-SUM(x) * SUM(y), 2) / [(N*SUM(x2)-SUM(x)2)*(N*SUM(y2)-SUM(y)2)]
-
N:值都不为空的数据对的数量。
-
如果 N*SUM(x*x)=SUM(x)*SUM(x),将会返回 null;
-
如果 N*SUM(y*y)=SUM(y)*SUM(y),将返回 1。
-
使用示例:
SELECT regr_r2(price2, price1) AS result FROM regrtable;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 0.6892008515045164 | +---------------------+
复制
regr_slope
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_slope(y,x) |
DOUBLE |
返回拟合所给两列数据的回归线斜率。 |
参数说明:
-
y、x:计算两列数据回归线斜率时所涉及的列名称,必须是数值类型。
注意事项:
-
回归线斜率计算公式为:
(N*SUM(x*y)-SUM(x)*SUM(y))/(N*SUM(x*x)-SUM(x)*SUM(x))
-
N:表示值都不为空的数据对的数量。
-
当 N*SUM(x*x)=SUM(x)*SUM(x) 时,将会返回 NULL。
-
使用示例:
SELECT regr_slope(price2,price1) AS result FROM regrtable;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 1.0860134629768137 | +---------------------+
复制
regr_sxx
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_sxx(y, x) |
DOUBLE |
返回自变量 x 的平方和。计算公式为: (SUM(X2)-SUM(X)2)/N |
参数说明:
-
y、x:计算自变量 x 列数据平方和时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_sxx(price2, price1) AS result FROM regrtable;
复制
返回示例:
+---------------------+ | result | +---------------------+ | 14299.999999999998 | +---------------------+
复制
regr_syy
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_syy(y, x) |
DOUBLE |
返回因变量 y 的平方和。计算公式为:(SUM(y2)-SUM(y)2)/N |
参数说明:
-
y、x:计算因变量 y 列数据平方和时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_syy(price2, price1) AS result FROM regrtable;
复制
返回示例:
+----------+ | result | +----------+ | 8356.25 | +----------+
复制
regr_sxy
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_sxy(y, x) |
DOUBLE |
返回自变量和因变量的乘方积。计算公式为:(SUM(x*y)-SUM(x)*SUM(y))/N,若 N=0,则返回 NULL。 |
参数说明:
-
y、x:计算自变量 x 列数据和因变量 y 列数据的乘方积时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_sxy(price2, price1) AS result FROM regrtable;
复制
返回示例:
+---------+ | result | +---------+ | 9075.0 | +---------+
复制
regr_avgx
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_avgx(y, x) |
DOUBLE |
返回自变量 x 的平均值。计算公式为:SUM(x)/N。 |
参数说明:
-
y、x:计算自变量 x 列数据的平均值时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_avgx(price2, price1) as result FROM regrtable;
复制
返回示例:
+---------+ | result | +---------+ | 65.0 | +---------+
复制
regr_avgy
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_avgy(y, x) |
DOUBLE |
返回因变量 y 的平均值。计算公式为:SUM(y)/N |
参数说明:
-
y、x:计算因变量 y 列数据的平均值时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_avgy(price2, price1) as result FROM regrtable;
复制
返回示例:
+---------+ | result | +---------+ | 31.25 | +---------+
复制
regr_count
函数语法 | 返回类型 | 描述 |
---|---|---|
regr_count(y, x) |
BIGINT |
返回两列都不为 NULL 的输入行数 |
参数说明:
-
y、x:计算两列都不为 NULL 的行数时所涉及的列名称,必须是数值类型。
使用示例:
SELECT regr_count(price2, price1) as result FROM regrtable;
复制
返回示例:
+---------+ | result | +---------+ | 12 | +---------+
复制