tencent cloud

文档反馈

数学函数

最后更新时间:2024-08-07 17:32:40

    ABS

    函数语法:
    ABS(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的绝对值
    返回类型:与<expr>一致
    示例:
    > SELECT abs(-1);
    1

    ACOS

    函数语法:
    ACOS(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的反余弦
    返回类型:double
    示例:
    > SELECT acos(1);
    0.0
    > SELECT acos(2);
    NaN

    ACOSH

    函数语法:
    ACOSH(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的反双曲余弦值
    返回类型:double
    示例:
    > SELECT acosh(1);
    0.0
    > SELECT acosh(0);
    NaN

    ASIN

    函数语法:
    ASIN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的反正弦
    返回类型:double
    示例:
    > SELECT asin(0);
    0.0
    > SELECT asin(2);
    NaN

    ASINH

    函数语法:
    ASINH(<expr> integer|double|decimal)
    支持引擎:SparkSQL
    使用说明:返回expr的反双曲正弦值。
    返回类型:double
    示例:
    > SELECT asinh(0);
    0.0

    ATAN

    函数语法:
    ATAN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的反正切
    返回类型:double
    示例:
    > SELECT atan(0);
    0.0

    ATAN2

    函数语法:
    ATAN2(<x>, integer|double|decimal, <y> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回平面的正 x 轴与坐标给定的点之间的弧度角
    返回类型:double
    示例:
    > SELECT atan2(0, 0);
    0.0

    ATANH

    函数语法:
    ATANH(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回 expr 的反双曲正切。
    返回类型:double
    示例:
    > SELECT atanh(0);
    0.0
    > SELECT atanh(2);
    NaN

    BIN

    函数语法:
    BIN(<expr> integer)
    支持引擎:SparkSQL、Presto
    使用说明:返回以二进制表示的长值expr的字符串表示形式。
    返回类型:string
    示例:
    > SELECT bin(13);
    1101
    > SELECT bin(-13);
    1111111111111111111111111111111111111111111111111111111111110011

    BROUND

    函数语法:
    BROUND(<expr> integer|double|decimal, <d> integer)
    支持引擎:SparkSQL、Presto
    使用说明:返回 expr 使用 HALF_EVEN 舍入模式舍入到d位小数
    返回类型:decimal
    示例:
    > SELECT bround(2.5, 0);
    2

    CBRT

    函数语法:
    CBRT(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的立方根。
    返回类型:double
    示例:
    > SELECT cbrt(27.0);
    3.0

    CEIL

    函数语法:
    CEIL(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回不小于expr的最小整数
    返回类型:integer
    示例:
    > SELECT ceil(-0.1);
    0
    > SELECT ceil(5);
    5

    COS

    函数语法:
    COS(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的余弦
    返回类型:double
    示例:
    > SELECT cos(0);
    1.0

    COSH

    函数语法:
    COSH(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的双曲余弦
    返回类型:double
    示例:
    > SELECT cosh(0);
    1.0

    CONV

    函数语法:
    CONV(<num> bigint|string, <from_base> integer, <to_base> integer)
    支持引擎:SparkSQL、Presto
    使用说明:将num从from_base转换为to_base
    返回类型:string
    示例:
    > SELECT conv('100', 2, 10);
    4
    > SELECT conv(-10, 16, -10);
    -16

    DEGREES

    函数语法:
    DEGREES(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:弧度转化为角度
    返回类型:double
    示例:
    > SELECT degrees(3.141592653589793);
    180.0

    E

    函数语法:
    E()
    支持引擎:SparkSQL、Presto
    使用说明:返回欧拉常数
    返回类型:double
    示例:
    > SELECT e();
    2.718281828459045

    EXP

    函数语法:
    EXP(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回欧拉常数e的expr次方
    返回类型:double
    示例:
    > SELECT exp(0);
    1.0

    EXPM1

    函数语法:
    EXPM1(<expr> integer|double|decimal)
    支持引擎:SparkSQL
    使用说明:返回EXP(expr)-1
    返回类型:double
    示例:
    > SELECT expm1(0);
    0.0

    FLOOR

    函数语法:
    FLOOR(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回不大于expr的最大整数
    返回类型:integer
    示例:
    > SELECT floor(-0.1);
    -1
    > SELECT floor(5);
    5

    FACTORIAL

    函数语法:
    FACTORIAL(<expr> integer)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的阶乘。 expr为[0..20]。 否则为NULL。
    返回类型:bigint
    示例:
    > SELECT factorial(5);
    120

    HEX

    函数语法:
    HEX(<expr> bigint|string)
    支持引擎:SparkSQL、Presto
    使用说明:以十六进制返回expr
    返回类型:string
    示例:
    > SELECT hex(17);
    11
    > SELECT hex('Spark SQL');
    537061726B2053514C

    HYPOT

    函数语法:
    HYPOT(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回sqrt(pow(expr1, 2) + pow(expr2, 2))
    返回类型:double
    示例:
    > SELECT hypot(3, 4);
    5.0

    LOG

    函数语法:
    LOG(<base> integer|double|decimal, <expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr以base为底数的对数。
    返回类型:double
    示例:
    > SELECT log(10, 100);
    2.0

    LOG10

    函数语法:
    LOG10(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr以10为底数的对数。
    返回类型:double
    示例:
    > SELECT log10(10);
    1.0

    LOG1P

    函数语法:
    LOG1P(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回log(1 + expr)
    返回类型:double
    示例:
    > SELECT log1p(0);
    0.0

    LOG2

    函数语法:
    LOG2(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回以2为底的expr的对数。
    返回类型:double
    示例:
    > SELECT log2(2);
    1.0

    LN

    函数语法:
    LN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的自然对数(以e为底)。
    返回类型:double
    示例:
    > SELECT ln(1);
    0.0

    MOD

    函数语法:
    MOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
    <expr1> MOD <expr2>
    支持引擎:SparkSQL、Presto
    使用说明:返回expr1/expr2之后的余数。
    返回类型:double|integer
    示例:
    > SELECT 2 % 1.8;
    0.2
    > SELECT MOD(2, 1.8);
    0.2

    NEGATIVE

    函数语法:
    NEGATIVE(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的负数
    返回类型:与expr一致
    示例:
    > SELECT negative(1);
    -1

    PI

    函数语法:
    PI()
    支持引擎:SparkSQL、Presto
    使用说明:返回PI
    返回类型:double
    示例:
    > SELECT pi();
    3.141592653589793

    PMOD

    函数语法:
    PMOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr1 mod expr2的正值。
    返回类型:double
    示例:
    > SELECT pmod(10, 3);
    1
    > SELECT pmod(-10, 3);
    2

    POSITIVE

    函数语法:
    POSITIVE(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr
    返回类型:与expr一致
    示例:
    > SELECT positive(1);
    1

    POWER

    函数语法:
    POWER(<base> integer|double|decimal, <number> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回base的number次方
    返回类型:double
    示例:
    > SELECT power(2, 3);
    8.0

    POW

    函数语法:
    POW(<base> integer|double|decimal, <number> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回base的number次方
    返回类型:double
    示例:
    > SELECT pow(2, 3);
    8.0

    RADIANS

    函数语法:
    RADIANS(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:将度转换为弧度
    返回类型:double
    示例:
    > SELECT radians(180);
    3.141592653589793

    RINT

    函数语法:
    RINT(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回与参数值最近且等于数学整数的双精度值
    返回类型:double
    示例:
    > SELECT rint(12.3456);
    12.0

    ROUND

    函数语法:
    ROUND(<expr> integer|double|decimal, <d> integer)
    支持引擎:SparkSQL、Presto
    使用说明:使用半向上舍入模式将expr舍入到d位小数。
    返回类型:double
    示例:
    > SELECT round(2.5, 0);
    3

    SHIFTLEFT

    函数语法:
    SHIFTLEFT(<base> integer|double|decimal, <expr> integer)
    支持引擎:SparkSQL、Presto
    使用说明:按位向左移位。
    返回类型:int |bigint
    示例:
    > SELECT shiftleft(2, 1);
    4

    SHIFTRIGHT

    函数语法:
    SHIFTRIGHT(<base> integer|double|decimal, <expr> integer)
    支持引擎:SparkSQL、Presto
    使用说明:按位向右移位。
    返回类型:int |bigint
    示例:
    > SELECT shiftright(4, 1);
    2

    SHIFTRIGHTUNSIGNED

    函数语法:
    SHIFTRIGHTUNSIGNED(<base> integer|double|decimal, <expr> integer)
    支持引擎:SparkSQL、Presto
    使用说明:按位无符号右移。
    返回类型:int |bigint
    示例:
    > SELECT shiftrightunsigned(4, 1);
    2

    SIGN

    函数语法:
    SIGN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:当expr为负、0或正时,返回-1.0、0.0或1.0。
    返回类型:double
    示例:
    > SELECT sign(40);
    1.0

    SIGNUM

    函数语法:
    SIGNUM(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:当expr为负、0或正时,返回-1.0、0.0或1.0。
    返回类型:double
    示例:
    > SELECT signum(40);
    1.0

    SIN

    函数语法:
    SIN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的正弦值
    返回类型:double
    示例:
    > SELECT sin(0);
    0.0

    SINH

    函数语法:
    SINH(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的双曲正弦
    返回类型:double
    示例:
    > SELECT sinh(0);
    0.0

    SQRT

    函数语法:
    SQRT(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的平方根
    返回类型:double
    示例:
    > SELECT sqrt(4);
    2.0

    TAN

    函数语法:
    TAN(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的正切值
    返回类型:double
    示例:
    > SELECT tan(0);
    0.0

    COT

    函数语法:
    COT(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回表达式的余切
    返回类型:double
    示例:
    > SELECT cot(1);
    0.6420926159343306

    TANH

    函数语法:
    TANH(<expr> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr的双曲正切
    返回类型:double
    示例:
    > SELECT tanh(0);
    0.0

    WIDTH_BUCKET

    函数语法:
    WIDTH_BUCKET(<value> integer|double|decimal, <min> integer|double|decimal, <max> integer|double|decimal, <num_backet> integer)
    支持引擎:SparkSQL、Presto
    使用说明:从min到max的等分为num_backet个分组,返回value落入的分组编号
    返回类型:integer
    示例:
    > SELECT width_bucket(5.3, 0.2, 10.6, 5);
    3
    > SELECT width_bucket(-2.1, 1.3, 3.4, 3);
    0
    > SELECT width_bucket(8.1, 0.0, 5.7, 4);
    5
    > SELECT width_bucket(-0.9, 5.2, 0.5, 2);
    3

    TRY_ADD

    函数语法:
    TRY_ADD(<expr1> integer|double|decimal|date|timestamp, <expr2> integer|double|decimal|date|timestamp)
    支持引擎:SparkSQL、Presto
    使用说明:返回expr1和expr2的总和,溢出时结果为null
    返回类型:integer|double|decimal|date|timestamp
    示例:
    > SELECT try_add(1, 2);
    3
    > SELECT try_add(2147483647, 1);
    NULL
    > SELECT try_add(date'2021-01-01', 1);
    2021-01-02

    TRY_DIVIDE

    函数语法:
    TRY_DIVIDE(<dividend> integer|double|decimal, <divisor> integer|double|decimal)
    支持引擎:SparkSQL、Presto
    使用说明:返回dividend/divisor
    返回类型:double
    示例:
    > SELECT try_divide(3, 2);
    1.5
    > SELECT try_divide(2L, 2L);
    1.0
    > SELECT try_divide(1, 0);
    NULL

    RAND

    函数语法:
    RAND([<seed> integer])
    支持引擎:SparkSQL、Presto
    使用说明:返回一个随机值,该随机值为[0,1]中的值独立且均匀分布。
    返回类型:double
    示例:
    > SELECT rand();
    0.9629742951434543
    > SELECT rand(0);
    0.7604953758285915
    > SELECT rand(null);
    0.7604953758285915

    RANDOM

    函数语法:
    RANDOM([<seed> integer])
    支持引擎:SparkSQL、Presto
    使用说明:返回一个随机值,该随机值为[0,1]中的值独立且均匀分布。
    返回类型:double
    示例:
    > SELECT rand();
    0.9629742951434543
    > SELECT rand(0);
    0.7604953758285915
    > SELECT rand(null);
    0.7604953758285915

    RANDN

    函数语法:
    RANDN([<seed> integer])
    支持引擎:SparkSQL、Presto
    使用说明:返回一个随机值,其中包含从标准正态分布中提取的独立和同分布(i.i.d.)值。该函数在SPARKSQL与PRESTO中的实现方式不一致,使用相同的seed可能得到不同的结果。
    返回类型:double
    示例:
    > SELECT randn();
    -0.3254147983080288
    > SELECT randn(0);
    1.6034991609278433
    > SELECT randn(null);
    1.6034991609278433

    DIV

    函数语法:
    <expr1> DIV <expr2>
    支持引擎:SparkSQL
    使用说明:expr1除以expr2
    返回类型:integer
    示例:
    > SELECT 3 div 2;
    1
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持