数学函数
编辑数学函数编辑
所有数学函数和三角函数都要求其输入(如果适用)为数字。
通用函数编辑
ABS
编辑
语法
输入:
输出:数字
描述:返回 numeric_exp
的绝对值。返回类型与输入类型相同。
SELECT ABS(-123.5), ABS(55); ABS(-123.5) | ABS(55) ---------------+--------------- 123.5 |55
CBRT
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的立方根。
SELECT CBRT(-125.5); CBRT(-125.5) ------------------- -5.0066577974783435
CEIL/CEILING
编辑
语法
输入:
输出:整数或长整型数字
描述:返回大于或等于 numeric_exp
的最小整数。
SELECT CEIL(125.01), CEILING(-125.99); CEIL(125.01) |CEILING(-125.99) ---------------+---------------- 126 |-125
E
编辑
语法
E()
输入:*无*
输出:2.718281828459045
描述:返回欧拉数。
SELECT E(), CEIL(E()); E() | CEIL(E()) -----------------+--------------- 2.718281828459045|3
EXP
编辑
语法
输入:
输出:双精度浮点数
描述:返回以欧拉数为底,numeric_exp
为指数的幂 (enumeric_exp)。
SELECT EXP(1), E(), EXP(2), E() * E(); EXP(1) | E() | EXP(2) | E() * E() -----------------+-----------------+----------------+------------------ 2.718281828459045|2.718281828459045|7.38905609893065|7.3890560989306495
EXPM1
编辑
语法
输入:
输出:双精度浮点数
描述:返回以欧拉数为底,numeric_exp
为指数的幂,再减去 1 (enumeric_exp - 1)。
SELECT E(), EXP(2), EXPM1(2); E() | EXP(2) | EXPM1(2) -----------------+----------------+---------------- 2.718281828459045|7.38905609893065|6.38905609893065
FLOOR
编辑
语法
输入:
输出:整数或长整型数字
描述:返回小于或等于 numeric_exp
的最大整数。
SELECT FLOOR(125.01), FLOOR(-125.99); FLOOR(125.01) |FLOOR(-125.99) ---------------+--------------- 125 |-126
LOG
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的自然对数。
SELECT EXP(3), LOG(20.085536923187668); EXP(3) |LOG(20.085536923187668) ------------------+----------------------- 20.085536923187668|3.0
LOG10
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的以 10 为底的对数。
SELECT LOG10(5), LOG(5)/LOG(10); LOG10(5) | LOG(5)/LOG(10) ------------------+----------------------- 0.6989700043360189|0.6989700043360187
PI
编辑
语法
PI()
输入:*无*
输出:3.141592653589793
描述:返回圆周率。
SELECT PI(); PI() ----------------- 3.141592653589793
POWER
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的 integer_exp
次幂。
SELECT POWER(3, 2), POWER(3, 3); POWER(3, 2) | POWER(3, 3) ---------------+--------------- 9.0 |27.0
SELECT POWER(5, -1), POWER(5, -2); POWER(5, -1) | POWER(5, -2) ---------------+--------------- 0.2 |0.04
RANDOM/RAND
编辑
语法
输入:
输出:双精度浮点数
描述:使用给定的种子返回一个随机双精度浮点数。
SELECT RANDOM(123); RANDOM(123) ------------------ 0.7231742029971469
ROUND
编辑
语法
输入:
输出:数字
描述:返回将 numeric_exp
四舍五入到小数点后 integer_exp
位的结果。如果 integer_exp
为负数,则将 numeric_exp
四舍五入到小数点左侧 |integer_exp
| 位。如果省略 integer_exp
,则函数的行为就像 integer_exp
为 0 一样。返回的数字数据类型与 numeric_exp
的数据类型相同。
SELECT ROUND(-345.153, 1) AS rounded; rounded --------------- -345.2
SELECT ROUND(-345.153, -1) AS rounded; rounded --------------- -350.0
SIGN/SIGNUM
编辑
语法
输入:
输出: [-1, 0, 1]
描述:返回 numeric_exp
符号的指示符。如果 numeric_exp
小于零,则返回 –1。如果 numeric_exp
等于零,则返回 0。如果 numeric_exp
大于零,则返回 1。
SELECT SIGN(-123), SIGN(0), SIGN(415); SIGN(-123) | SIGN(0) | SIGN(415) ---------------+---------------+--------------- -1 |0 |1
SQRT
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的平方根。
SELECT SQRT(EXP(2)), E(), SQRT(25); SQRT(EXP(2)) | E() | SQRT(25) -----------------+-----------------+--------------- 2.718281828459045|2.718281828459045|5.0
TRUNCATE/TRUNC
编辑
语法
输入:
输出:数字
描述:返回将 numeric_exp
截断到小数点后 integer_exp
位的结果。如果 integer_exp
为负数,则将 numeric_exp
截断到小数点左侧 |integer_exp
| 位。如果省略 integer_exp
,则函数的行为就像 integer_exp
为 0 一样。返回的数字数据类型与 numeric_exp
的数据类型相同。
SELECT TRUNC(-345.153, 1) AS trimmed; trimmed --------------- -345.1
SELECT TRUNCATE(-345.153, -1) AS trimmed; trimmed --------------- -340.0
三角函数编辑
ACOS
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的反余弦,以弧度表示。
SELECT ACOS(COS(PI())), PI(); ACOS(COS(PI())) | PI() -----------------+----------------- 3.141592653589793|3.141592653589793
ASIN
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的反正弦,以弧度表示。
SELECT ROUND(DEGREES(ASIN(0.7071067811865475))) AS "ASIN(0.707)", ROUND(SIN(RADIANS(45)), 3) AS "SIN(45)"; ASIN(0.707) | SIN(45) ---------------+--------------- 45.0 |0.707
ATAN
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的反正切,以弧度表示。
SELECT DEGREES(ATAN(TAN(RADIANS(90)))); DEGREES(ATAN(TAN(RADIANS(90)))) ------------------------------- 90.0
ATAN2
编辑
语法
输入:
输出:双精度浮点数
描述:返回由指定的纵坐标
和 横坐标
坐标确定的反正切,以弧度表示。
SELECT ATAN2(5 * SIN(RADIANS(45)), 5 * COS(RADIANS(45))) AS "ATAN2(5*SIN(45), 5*COS(45))", RADIANS(45); ATAN2(5*SIN(45), 5*COS(45))| RADIANS(45) ---------------------------+------------------ 0.7853981633974483 |0.7853981633974483
COS
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的余弦,其中 numeric_exp
是以弧度表示的角度。
SELECT COS(RADIANS(180)), POWER(SIN(RADIANS(54)), 2) + POWER(COS(RADIANS(54)), 2) AS pythagorean_identity; COS(RADIANS(180))|pythagorean_identity -----------------+-------------------- -1.0 |1.0
COSH
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的双曲余弦。
SELECT COSH(5), (POWER(E(), 5) + POWER(E(), -5)) / 2 AS "(e^5 + e^-5)/2"; COSH(5) | (e^5 + e^-5)/2 -----------------+----------------- 74.20994852478785|74.20994852478783
COT
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的余切,其中 numeric_exp
是以弧度表示的角度。
SELECT COT(RADIANS(30)) AS "COT(30)", COS(RADIANS(30)) / SIN(RADIANS(30)) AS "COS(30)/SIN(30)"; COT(30) | COS(30)/SIN(30) ------------------+------------------ 1.7320508075688774|1.7320508075688776
DEGREES
编辑
语法
输入:
输出:双精度浮点数
SELECT DEGREES(PI() * 2), DEGREES(PI()); DEGREES(PI() * 2)| DEGREES(PI()) -----------------+--------------- 360.0 |180.0
RADIANS
编辑
语法
输入:
输出:双精度浮点数
SELECT RADIANS(90), PI()/2; RADIANS(90) | PI()/2 ------------------+------------------ 1.5707963267948966|1.5707963267948966
SIN
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的正弦,其中 numeric_exp
是以弧度表示的角度。
SELECT SIN(RADIANS(90)), POWER(SIN(RADIANS(67)), 2) + POWER(COS(RADIANS(67)), 2) AS pythagorean_identity; SIN(RADIANS(90))|pythagorean_identity ----------------+-------------------- 1.0 |1.0
SINH
编辑
语法
输入:
输出:双精度浮点数
描述:返回 numeric_exp
的双曲正弦值。
SELECT SINH(5), (POWER(E(), 5) - POWER(E(), -5)) / 2 AS "(e^5 - e^-5)/2"; SINH(5) | (e^5 - e^-5)/2 -----------------+----------------- 74.20321057778875|74.20321057778874