全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

数学函数

更新时间:2017-06-07 13:26:11

注意,数学运算函数的参数支持以下隐式转换:

  • int -> bigint -> double
  • string -> double

ABS

函数定义:

  1. double abs(double number)
  2. bigint abs(bigint number)

功能说明:

返回绝对值。

参数说明:

number: double或bigint类型,输入为bigint时返回bigint;输入为double时返回double类型。参数的隐式转换支持:int、string,其他类型参数不支持,转换方向:

返回值:

double或者bigint类型,取决于输入参数的类型。若输入为NULL,返回NULL。

示例:

  1. abs(NULL) = NULL
  2. abs(-1) = 1
  3. abs(-1.2) = 1.2
  4. abs("-2") = 2.0
  5. abs(122320837456298376592387456923748) = 1.2232083745629837e32

完整SQL例子如下:

  1. SELECT
  2. abs(t.id)
  3. FROM Table t;

CEIL

函数定义:

  1. bigint ceil(double value)

功能说明:

返回不小于输入值value的最小整数

参数说明:

value: double类型

返回值:

bigint类型。若输入为NULL,返回NULL。

示例:

  1. ceil(1.1) = 2
  2. ceil(-1.1) = -1

E

函数定义:

  1. double E()

功能说明:

获取常量 E

返回值:

double类型, 返回常量 E。

EXP

函数定义:

  1. double exp(double number)

功能说明:

指数函数。返回number的指数值。

参数说明

number: double类型。参数的隐式转换支持:int、bigint、string,其他类型参数不支持

返回值:

double类型。若number为NULL,返回NULL。

FLOOR

函数定义:

  1. bigint floor(double number)

功能说明:

向下取整,返回比number小的整数值。

参数说明

number: double类型

返回值

返回bigint类型。若number为NULL,返回NULL。

示例

  1. floor(1.2)=1
  2. floor(1.9)=1
  3. floor(0.1)=0
  4. floor(-1.2)=-2
  5. floor(-0.1)=-1
  6. floor(0.0)=0
  7. floor(-0.0)=0

LN

函数定义:

  1. double ln(double number)

功能说明:

返回number的自然对数。

参数说明

number: double类型,若输入为string类型或bigint类型会隐式转换到double类型后参与运算,其他类型抛异常。若number为NULL返回NULL, 若number为负数或零,则抛异常。

返回值

double类型。

LOG

函数定义:

  1. double log(double base, double x)

功能说明:

返回以base为底的x的对数。

参数说明:

base: double类型, 若输入为string类型或bigint类型会隐式转换到double类型后参与运算,其他类型抛异常x: double类型,若输入为string类型或bigint类型会隐式转换到double类型后参与运算,其他类型抛异常。

返回值:

double类型的对数值,若base和x中存在NULL,则返回NULL;若base和x中某一个值为负数或0,会引发异常;若base为1(会引发一个除零行为)也会引发异常。

LOG10

函数定义:

  1. double log10(double x)

功能说明:

返回以10为底的x的对数。

参数说明:

x: double类型。

返回值:

double类型的对数值,若x为NULL,则返回NULL;若x为负数,会引发异常;

LOG2

函数定义:

  1. double log2(double x)

功能说明:

返回以2为底的x的对数。

参数说明:

x: double类型。

返回值:

double类型的对数值,若x为NULL,则返回NULL;若x为负数,会引发异常;

PI

函数定义:

  1. double PI()

功能说明:

获取圆周率常量 PI

返回值:

double类型, 返回圆周率常量 PI。

POW

函数定义:

  1. double pow(double x, double y)

功能说明:

返回x的y次方,即x^y。

参数说明:

X: double类型。Y: double类型。

返回值:

double类型。 若x或y为NULL,则返回NULL

RAND

函数定义:

  1. double rand([bigint seed])

功能说明:

返回0~1之间的double类型随机数如果使用了参数seed,则以seed为种子

参数说明

seed:bigint类型,随机数种子,决定随机数序列的起始值

返回值:

double类型,返回值区间为0~1

ROUND

函数定义:

  1. double round(double number, [bigint decimal_places])

功能说明:

四舍五入到指定小数点位置。

参数说明

number: double类型decimal_place: bigint类型常量,四舍五入计算到小数点后的位置. 如果省略表示四舍五入到个位数。 默认值为0.

返回值:

返回double类型。若number或decimal_places为NULL,返回NULL。

Note:

decimal_places可以是负数。负数会从小数点向左开始计数,并且不保留小数部分;如果decimal_places超过了整数部分长度,返回0.

示例:

  1. round(125.315) = 125
  2. round(125.315, 0) = 125
  3. round(125.315, 1) = 125.3
  4. round(125.315, 2) = 125.32
  5. round(125.315, 3) = 125.315
  6. round(-125.315, 2) = -125.32
  7. round(123.345, -2) = 100.0
  8. round(NULL) = NULL
  9. round(123.345, 4) = 123.345
  10. round(123.345, -4) = 0.0

SQRT

函数定义:

  1. double sqrt(double number)

功能说明:

计算平方根。

参数说明

number: double类型,必须大于0,小于0时抛出异常。参数的隐式转换支持:int、bigint、string,其他类型参数不支持

返回值:

返回double类型。若number为NULL,返回NULL。

本文导读目录