SQL 语句中可用的函数
SQL 语句中可用的函数
算数函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
+ |
加法 | 1. 左操作数 2. 右操作数 | 加和 |
- |
减法 | 1. 左操作数 2. 右操作数 | 差值 |
* |
乘法 | 1. 左操作数 2. 右操作数 | 乘积 |
/ |
除法 | 1. 左操作数 2. 右操作数 | 商值 |
div |
整数除法 | 1. 左操作数 2. 右操作数 | 整数商值 |
mod |
取模 | 1. 左操作数 2. 右操作数 | 模 |
数学函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| abs | 绝对值 | 1. 被操作数 | 绝对值 |
| cos | 余弦 | 1. 被操作数 | 余弦值 |
| cosh | 双曲余弦 | 1. 被操作数 | 双曲余弦值 |
| acos | 反余弦 | 1. 被操作数 | 反余弦值 |
| acosh | 反双曲余弦 | 1. 被操作数 | 反双曲余弦值 |
| sin | 正弦 | 1. 被操作数 | 正弦值 |
| sinh | 双曲正弦 | 1. 被操作数 | 双曲正弦值 |
| asin | 反正弦 | 1. 被操作数 | 值 |
| asinh | 反双曲正弦 | 1. 被操作数 | 反双曲正弦值 |
| tan | 正切 | 1. 被操作数 | 正切值 |
| tanh | 双曲正切 | 1. 被操作数 | 双曲正切值 |
| atan | 反正切 | 1. 被操作数 | 反正切值 |
| atanh | 反双曲正切 | 1. 被操作数 | 反双曲正切值 |
| ceil | 上取整 | 1. 被操作数 | 整数值 |
| floor | 下取整 | 1. 被操作数 | 整数值 |
| round | 四舍五入 | 1. 被操作数 | 整数值 |
| exp | 幂运算 | 1. 被操作数 | e 的 x 次幂 |
| power | 指数运算 | 1. 左操作数 x 2. 右操作数 y | x 的 y 次方 |
| sqrt | 平方根运算 | 1. 被操作数 | 平方根 |
| fmod | 负点数取模函数 | 1. 左操作数 2. 右操作数 | 模 |
| log | 以 e 为底对数 | 1. 被操作数 | 值 |
| log10 | 以 10 为底对数 | 1. 被操作数 | 值 |
| log2 | 以 2 为底对数 | 1. 被操作数 | 值 |
数据类型转换函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| str | 将数据转换为 String 类型 | 1. Data | String 类型的数据。无法转换将会导致 SQL 匹配失败 |
| str_utf8 | 将数据转换为 UTF-8 String 类型 | 1. Data | UTF-8 String 类型的数据。无法转换将会导致 SQL 匹配失败 |
| bool | 将数据转换为 Boolean 类型 | 1. Data | Boolean 类型的数据。无法转换将会导致 SQL 匹配失败 |
| int | 将数据转换为整数类型 | 1. Data | 整数类型的数据。无法转换将会导致 SQL 匹配失败 |
| float | 将数据转换为浮点型类型 | 1. Data | 浮点型类型的数据。无法转换将会导致 SQL 匹配失败 |
| map | 将数据转换为 Map 类型 | 1. Data | Map 类型的数据。无法转换将会导致 SQL 匹配失败 |
字符串函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| lower | 转为小写 | 1. 输入字符 | 小写字符串 |
| upper | 转为大写 | 1. 输入字符 trim | 去掉左右空格 |
| ltrim | 去掉左空格 | 1. 输入字符串 | 输出字符串 |
| rtrim | 去掉右空格 | 1. 输入字符串 | 输出字符串 |
| reverse | 字符串反转 | 1. 输入字符串 | 输出字符串 |
| strlen | 字符串长度 | 1. 输入字符串 | 整数值 |
| substr | 取字符的子串 | 1. 输入字符串 2. 起始位置. 注意: 下标从 1 开始 | 子串 |
| substr | 取字符的子串 | 1. 输入字符串 2. 起始位置 3. 终止位置. 注意: 下标从 1 开始 | 子串 |
| split | 字符串分割 | 1. 输入字符串 2. 分割符子串 | 分割后的字符串数组 |
| split | 字符串分割 | 1. 输入字符串 2. 分割符子串 3. 只查找左边或者右边第一个分隔符, 可选的取值为 ‘leading’ 或者 ‘trailing’ | 分割后的字符串数组 |
Map 函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| map_get | 取 Map 中某个 Key 的值,如果没有则返回空值 | 1. Key 2. Map | Map 中某个 Key 的值。支持嵌套的 Key,比如 “a.b.c” |
| map_get | 取 Map 中某个 Key 的值,如果没有则返回指定默认值 | 1. Key 2. Map 3. Default Value | Map 中某个 Key 的值。支持嵌套的 Key,比如 “a.b.c” |
| map_put | 向 Map 中插入值 | 1. Key 2. Value 3. Map | 插入后的 Map。支持嵌套的 Key,比如 “a.b.c” |
数组函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| nth | 取第 n 个元素,下标从 1 开始 | 1. 原数组 | 第 n 个元素 |
哈希函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| md5 | 求 MD5 值 | 1. 数据 | MD5 值 |
| sha | 求 SHA 值 | 1. 数据 | SHA 值 |
| sha256 | 求 SHA256 值 | 1. 数据 | SHA256 值 |
编解码函数
| 函数名 | 函数作用 | 参数 | 返回值 |
|---|---|---|---|
| base64_encode | BASE64 编码 | 1. 数据 | BASE64 字符串 |
| base64_decode | BASE64 解码 | 1. BASE64 字符串 | 数据 |
| json_encode | JSON 编码 | 1. JSON 字符串 | 内部 Map |
| json_decode | JSON 解码 | 1. 内部 Map | JSON 字符串 |
| schema_encode | Schema 编码 | 1. Schema ID 2. 内部 Map | 数据 |
| schema_encode | Schema 编码 | 1. Schema ID 2. 内部 Map 3. Protobuf Message 名 | 数据 |
| schema_decode | Schema 解码 | 1. Schema ID 2. 数据 | 内部 Map |
| schema_decode | Schema 解码 | 1. Schema ID 2. 数据 3. Protobuf Message 名 | 内部 Map |
