反馈已提交

网络繁忙

SparkSQL数学函数

  • 文档创建者:Roxy
  • 历史版本:2
  • 最近更新:Roxy 于 2023-06-26
  • 1. 概述

    本文介绍 SparkSQL 中的数学函数语法。

    2. ROUND-四舍五入取整

    round(DOUBLE a):返回对 a 四舍五入的 BIGINT 值,取整。 

    round(DOUBLE a, INT d):返回 DOUBLE 型 d 的保留 n 位小数的 DOUBLW 型的近似值。 

    示例 1:select round(3.1415926) 

    示例 2:select round(3.1415926,2)

    推荐使用 FineDataLink 新增计算列 中的 ROUND 函数

    3. BROUND

    bround(DOUBLE a):银行家舍入法(1~4:舍,6~9:进,5->前位数是偶:舍,5->前位数是 奇:进)。

    bround(DOUBLE a, INT d):银行家舍入法,保留 d 位小数

    示例1:select bround(4.5)  结果为:4

    示例2:select bround(3.145,2)   结果为:3.14

    4. FLOOR-向下取整

    floor(DOUBLE a):向下取整,最数轴上最接近要求的值的左边的值。 

    示例:select floor(3.14) 

    推荐使用 FineDataLink 新增计算列 中的 FLOOR 函数

    5. CEIL-向上取整

    ceil(DOUBLE a):求其不小于给定实数的最小整数。 

    ceiling(DOUBLE a):求其不小于给定实数的最小整数.

    示例 1:select ceil(-4.1)

    示例 2:select ceiling(-4.1)

    推荐使用 FineDataLink 新增计算列 中的 CEILING 函数

    6. RAND-返回0-1 之间的随机数

    rand():返回一个 0 到 1 范围内的随机数。 

    rand(INT seed):返回一个 0 到 1 范围内的随机数。如果指定种子 seed,则会等到一个稳定 的随机数序列。 

    示例 1:select rand(),rand() 

    示例 2:select rand(8),rand(8)

    推荐使用 FineDataLink 新增计算列 中的 RAND 函数

    7. EXP-e的n次幂

    exp(DOUBLE a), exp(DECIMAL a):返回 e 的 a 幂次方, a 可为小数。

    示例:select exp(0),exp(1.11)

    推荐使用 FineDataLink 新增计算列 中的 EXP 函数

    8. ln-以e为底的对数

    ln(DOUBLE a), ln(DECIMAL a):以自然常数 e 为底 d 的对数,a 可为小数。 

    示例:select ln(2),ln(2.1)

    推荐使用 FineDataLink 新增计算列 中的 LN 函数

    9. LOG10-以10为底的对数

    log10(DOUBLE a) 或者  log10(DECIMAL a):以 10 为底 d 的对数,a 可为小数。 

    示例:在数据转换中使用 SparkSQL ,输入语句:select log10(10),如下图所示:

    在数据转换中使用 SparkSQL ,输入语句:selectlog10(10.11),如下图所示:

    10. LOG2-以2为底的对数

    log2(DOUBLE a)或者 log2(DECIMAL a):以 2 为底数 d 的对数,a 可为小数。 

    示例:select log2(2),结果如下图所示:

    11. LOG-任意底数对应的对数值

    log(DOUBLE base, DOUBLE a),log(DECIMAL base, DECIMAL a):以 base 为底的 a 对数。 

    示例:select col1,COL2,log(col1,COL2) from TV 

    推荐使用 FineDataLink 新增计算列 中的 LOG 函数

    12. POW-乘幂

    pow(DOUBLE a, DOUBLE p), power(DOUBLE a, DOUBLE p):计算 a 的 p 次幂。 

    示例:select col1,COL2,pow(col1,COL2) from TV

    推荐使用 FineDataLink 新增计算列 中的 POWER 函数

    13. SQRT-平方根

    sqrt(DOUBLE a), sqrt(DECIMAL a):计算 a 的平方根。 

    示例:select col1,COL2,sqrt(col1),sqrt(col2) from TV 

    推荐使用 FineDataLink 新增计算列 中的 SQRT 函数

    14. ABS-绝对值

    abs(DOUBLE a),abs(DECIMAL a):计算 a 的绝对值。 

    示例:select abs(-3.1),abs(0)

    推荐使用 FineDataLink 新增计算列 中的 ABS 函数

    15. PMOD-取余

    pmod(INT a, INT b), pmod(DOUBLE a, DOUBLE b):a 除以 b 取余。

    示例:select pmod(2,3),pmod(-4,2) 

    推荐使用 FineDataLink 新增计算列 中的 MOD 函数

    16. 三角函数

    17. 数学常量

    e():数学常量 e

    pi():数学常量Π。 

    示例:select e(),pi()结果如下图所示:

    18. NEGATIVE -相反数

    negative(INT a) 或者 negative(DOUBLE a):返回 a 的相反数。 

    示例:select negative(1)结果如下图所示:

    19. FACTORIAL-阶乘

    factorial(INT a):求 a 的阶乘。

    示例:select factorial(5) ,结果如下图所示:

    20. CBRT-立方根

    cbrt(DOUBLE a):求 a 的立方根。 

    示例 :select cbrt(512)结果如下图所示:

    21. 求最值

    greatest(T v1, T v2, ...):求最大值。

    least(T v1, T v2, ...):求最小值。 

    示例 1:select greatest(col1,col2) from TV 

    示例 2:select least(col1,col2) from TV

    推荐使用 FineDataLink 新增计算列 中的 MAX 最大值MIN 最小值

    附件列表


    主题: 数据开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持