数值函数
本页面按功能分类,全面概述了 Databend 中的数值函数,方便您查阅。
基本算术函数
| Function | Description | Example |
|---|---|---|
| PLUS / ADD | 加法运算符 | 5 + 3 → 8 |
| MINUS / SUBTRACT | 减法运算符 | 5 - 3 → 2 |
| MULTIPLY | 乘法运算符 | 5 * 3 → 15 |
| DIV | 除法运算符 | 10 / 2 → 5.0 |
| DIV0 | 除以零时返回 0 而不是报错 | DIV0(10, 0) → 0 |
| DIVNULL | 除以零时返回 NULL 而不是报错 | DIVNULL(10, 0) → NULL |
| INTDIV | 整数除法 | 10 DIV 3 → 3 |
| MOD / MODULO | 模运算(余数) | 10 % 3 → 1 |
| NEG / NEGATE | 取反 | -5 → -5 |
四舍五入与截断函数
| Function | Description | Example |
|---|---|---|
| ROUND | 将数字四舍五入到指定的小数位数 | ROUND(123.456, 2) → 123.46 |
| FLOOR | 返回不大于参数的最大整数 | FLOOR(123.456) → 123 |
| CEIL / CEILING | 返回不小于参数的最小整数 | CEIL(123.456) → 124 |
| TRUNCATE | 将数字截断到指定的小数位数 | TRUNCATE(123.456, 1) → 123.4 |
| TRUNC | 将数字截断到指定的小数位数 | TRUNC(123.456, 1) → 123.4 |
指数与对数函数
| Function | Description | Example |
|---|---|---|
| EXP | 返回 e 的 x 次方 | EXP(1) → 2.718281828459045 |
| POW / POWER | 返回 x 的 y 次方 | POW(2, 3) → 8 |
| SQRT | 返回 x 的平方根 | SQRT(16) → 4 |
| CBRT | 返回 x 的立方根 | CBRT(27) → 3 |
| LN | 返回 x 的自然对数 | LN(2.718281828459045) → 1 |
| LOG10 | 返回 x 的以 10 为底的对数 | LOG10(100) → 2 |
| LOG2 | 返回 x 的以 2 为底的对数 | LOG2(8) → 3 |
| LOGX | 返回 y 的以 x 为底的对数 | LOGX(2, 8) → 3 |
| LOGBX | 返回 x 的以 b 为底的对数 | LOGBX(8, 2) → 3 |
三角函数
| Function | Description | Example |
|---|---|---|
| SIN | 返回 x 的正弦值 | SIN(0) → 0 |
| COS | 返回 x 的余弦值 | COS(0) → 1 |
| TAN | 返回 x 的正切值 | TAN(0) → 0 |
| COT | 返回 x 的余切值 | COT(1) → 0.6420926159343306 |
| ASIN | 返回 x 的反正弦值 | ASIN(1) → 1.5707963267948966 |
| ACOS | 返回 x 的反余弦值 | ACOS(1) → 0 |
| ATAN | 返回 x 的反正切值 | ATAN(1) → 0.7853981633974483 |
| ATAN2 | 返回 y/x 的反正切值 | ATAN2(1, 1) → 0.7853981633974483 |
| DEGREES | 将弧度转换为角度 | DEGREES(PI()) → 180 |
| RADIANS | 将角度转换为弧度 | RADIANS(180) → 3.141592653589793 |
| PI | 返回 π 的值 | PI() → 3.141592653589793 |
其他数值函数
| Function | Description | Example |
|---|---|---|
| ABS | 返回 x 的绝对值 | ABS(-5) → 5 |
| SIGN | 返回 x 的符号 | SIGN(-5) → -1 |
| FACTORIAL | 返回 x 的阶乘 | FACTORIAL(5) → 120 |
| RAND | 返回 0 到 1 之间的随机数 | RAND() → 0.123... (随机) |
| RANDN | 返回服从标准正态分布的随机数 | RANDN() → -0.123... (随机) |
| CRC32 | 返回字符串的 CRC32 校验和 | CRC32('Databend') → 3899655467 |

