---
url: /v6.2/calculation-function-number.md
---
# 数字函数

## abs

| 语法         | abs(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 绝对值运算 |
| 例子         | abs(-1)，返回：1          |

## acos

| 语法         | acos(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的反余弦值，以弧度表示，N 必须是 \[-1, 1] 之间的值 |
| 例子         | acos(0.5)，返回：1.0471975511966 |

## asin

| 语法         | asin(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的反正弦值，以弧度表示，N 必须是 \[-1, 1] 之间的值 |
| 例子         | asin(0.5)，返回：0.523598775598299 |

## atan

| 语法         | atan(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的反正切值，以弧度表示 |
| 例子         | atan(1)，返回：0.785398163397448 |

## atan2

| 语法         | atan2(ARG1, ARG2)         |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 arg1/arg2 的反正切值，以弧度表示 |
| 例子         | atan2(2, 2)，返回：0.785398163397448 |
| 不支持的数据源 | hive                      |

## ceil

| 语法         | ceil(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 获取大于等于指定数值的最小整数值 |
| 例子         | ceil(3.2)，返回：4        |

## cbrt

| 语法         | cbrt(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 立方根运算 |
| 例子         | cbrt(8)，返回：2          |
| 不支持的数据源 | mysql、oracle、sqlserver、db2、impala、tidb、mongodb |

## cos

| 语法         | cos(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的余弦值，N 表示弧度 |
| 例子         | cos(pi()/3)，返回：0.5    |

## cosh

| 语法         | cosh(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的双曲余弦值 |
| 例子         | cosh(1)，返回：1.5430806348152437 |
| 不支持的数据源 | postgres、greenplum、mysql、sqlserver、hive、tidb、presto、mongodb、redshift |

## cot

| 语法         | cot(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的余切值，N 表示弧度，N 不能为 0 |
| 例子         | cot(pi()/4)，返回：1      |

## degrees

| 语法         | degrees(N)                |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 把弧度转为角度，N 表示弧度 |
| 例子         | degrees(pi()/2)，返回：90 |
| 不支持的数据源 | oracle                    |

## exp

| 语法         | exp(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | e 的 N 次幂，e 为自然对数的底数 |
| 例子         | exp(1)，返回：2.171828182845904 |

## floor

| 语法         | floor(N)                  |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 获取小于等于指定数值的最小整数 |
| 例子         | floor(3.8)，返回：3       |

## greatest

| 语法         | greatest(ARG1, ARG2)      |
|--------------|---------------------------|
| 参数说明     | ARG1: 数字类型参数，可选类型：数字  ARG2: 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回列表中最大的一个 |
| 例子         | greatest(5, 10)，返回：10 |

## growth_rate

| 语法         | growth_rate(CURRENT, PREVIOUS) |
|--------------|---------------------------|
| 参数说明     | 1. 新值，可选类型：数字；2. 前值，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 增长率 |
| 例子         | growth_rate(120, 100)，返回：0.2 |

## ln

| 语法         | ln(N)                     |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的自然对数，自然对数以常数项 e(2.71828182845904) 为底，N 要求大于 0 |
| 例子         | ln(1)，返回：0            |

## log

| 语法         | log(BASE, N)              |
|--------------|---------------------------|
| 参数说明     | BASE，可选类型：数字  N，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回以 BASE 为底的对数，BASE 必须大于 0，且不能为 1，N 必须大于 0 |
| 例子         | log(3, 9)，返回：2        |
| 不支持的数据源 | db2、redshift             |

## log10

| 语法         | log10(N)                  |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回以 10 为底的对数，N 必须大于 0 |
| 例子         | log10(100)，返回：2       |

## log2

| 语法         | log2(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回以 2 为底的对数，N 必须大于 0 |
| 例子         | log2(4)，返回：2          |
| 不支持的数据源 | db2、redshift             |

## least

| 语法         | least(ARG1, ARG2)         |
|--------------|---------------------------|
| 参数说明     | ARG1: 数字类型参数，可选类型：数字  ARG2: 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回列表中最小的一个 |
| 例子         | least(5, 10)，返回：5     |

## median

| 语法         | median(N)                 |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 获取指定数值列的中位数 |
| 例子         | median(\[1, 2, 3, 4, 5])，返回：3 |
| 不支持的数据源 | impala、hive、spark、sqlserver、tidb、mysql |

## mod

| 语法         | mod(DIVIDEND, DIVISOR)    |
|--------------|---------------------------|
| 参数说明     | 1. 被除数，可选类型：数字；2. 除数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 取模运算，参数可以是小数 |
| 例子         | mod(12.3, 5)，返回：2.3   |

## percentile

| 语法         | percentile(N, PERCENT)    |
|--------------|---------------------------|
| 参数说明     | 1. 数字类型参数，可选类型：数字；2. 内部参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 计算百分位数 |
| 例子         | percentile(\[1, 2, 3, 4, 5], 0.5)，返回：3 |
| 不支持的数据源 | impala、hive、spark、sqlserver、tidb、mysql、mongodb、maxcompute |

## pi

| 语法         | pi()                      |
|--------------|---------------------------|
| 参数说明     | 无                        |
| 返回值类型   | 数字                    |
| 描述         | π 常量，等于 3.14159265358979 |
| 例子         | pi()，返回：3.14159265358979 |
| 不支持的数据源 | oracle、db2               |

## power

| 语法         | power(BASE, EXPONENT)     |
|--------------|---------------------------|
| 参数说明     | 1. 底数，可选类型：数字；2. 指数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 乘方运算 |
| 例子         | power(2, 3)，返回：8      |

## radians

| 语法         | radians(N)                |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 把角度转为弧度，N 表示角度 |
| 例子         | radians(180)，返回：3.14159265358979 |
| 不支持的数据源 | oracle                    |

## rand

| 语法         | rand()                    |
|--------------|---------------------------|
| 参数说明     | 无                        |
| 返回值类型   | 数字                    |
| 描述         | 范围 0.0 <= N < 1.0 中的随机值 |
| 例子         | rand()，返回：0.763452189（示例值） |

## round

| 语法         | round(N, LITERAL_PRECISION) |
|--------------|---------------------------|
| 参数说明     | 1. 数字类型参数，可选类型：数字；2. 指定精度，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 四舍五入后指定位数 |
| 例子         | round(3.14159, 2)，返回：3.14 |

## rounddown

| 语法         | rounddown(N, LITERAL_PRECISION) |
|--------------|---------------------------|
| 参数说明     | 1. 数字类型参数，可选类型：数字；2. 指定精度，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 向下舍入指定位数 |
| 例子         | rounddown(3.14159, 2)，返回：3.14 |

## roundup

| 语法         | roundup(N, LITERAL_PRECISION) |
|--------------|---------------------------|
| 参数说明     | 1. 数字类型参数，可选类型：数字；2. 指定精度，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 向上舍入指定位数 |
| 例子         | roundup(3.14159, 2)，返回：3.15 |

## sign

| 语法         | sign(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 符号函数。例如：sign(x)，若 x>0，则返回1；若 x=0，则返回0；若 x<0，则返回-1 |
| 例子         | sign(-5)，返回：-1        |

## sin

| 语法         | sin(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的正弦值，N 表示弧度 |
| 例子         | sin(pi()/6)，返回：0.5    |

## sinh

| 语法         | sinh(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的双曲正弦值 |
| 例子         | sinh(1)，返回：0.8686709614860095 |
| 不支持的数据源 | postgres、greenplum、mysql、sqlserver、hive、tidb、presto、mongodb、redshift |

## sqrt

| 语法         | sqrt(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 平方根运算 |
| 例子         | sqrt(16)，返回：4         |

## tan

| 语法         | tan(N)                    |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的正切值，N 表示弧度 |
| 例子         | tan(pi()/4)，返回：1      |

## tanh

| 语法         | tanh(N)                   |
|--------------|---------------------------|
| 参数说明     | 数字类型参数，可选类型：数字 |
| 返回值类型   | 数字                    |
| 描述         | 返回 N 的双曲正切值 |
| 例子         | tanh(1)，返回：0.7615941559557649 |
| 不支持的数据源 | postgres、greenplum、mysql、sqlserver、hive、tidb、presto、mongodb、redshift |
