函数总表
本文档列出了 MatrixOne 最新版本所支持的函数清单。
聚合函数
| 函数名称 | 作用 |
|---|---|
| ANY_VALUE() | 在参数范围内任选一个值返回 |
| AVG() | 计算参数列的算术平均值 |
| BITMAP | 一组用于处理位图的内置函数,主要用于计算不同值 |
| BIT_AND() | 计算了列中所有位的按位与 |
| BIT_OR() | 计算了列中所有位的按位或 |
| BIT_XOR() | 计算了列中所有位的按位异或 |
| COUNT() | 计算了查询结果的记录数 |
| GROUP_CONCAT() | 将通过列或者表达式指定的内容连接起来 |
| MAX() | 返回一组值的最大值 |
| MEDIAN() | 返回一组数值的中值 |
| MIN() | 返回一组值的最小值 |
| STDDEV_POP() | 用于计算总体标准差 |
| SUM() | 用于计算一组值的和 |
| VARIANCE() | 用于计算总体方差 |
| VAR_POP() | 用于计算总体方差 |
日期时间类函数
| 函数名称 | 作用 |
|---|---|
| CONVERT_TZ() | 用于将给定的日期时间从一个时区转换为另一个时区。 |
| CURDATE() | 返回当前日期的 YYYY-MM-DD 格式的值 |
| CURRENT_TIMESTAMP() | 将当前日期和时间以 YYYY-MM-DD hh:mm:ss 或 YYYYMMDDhhmmss 的格式返回 |
| DATE() | 将 DATE 或者 DATETIME 格式的输入中的日期部分截取出来。 |
| DATE_ADD() | 用于执行日期运算:从指定日期中加上指定的时间间隔 |
| DATE_FORMAT() | 根据格式字符串格式化日期值 |
| DATE_SUB() | 用于执行日期运算:从指定日期中减去指定的时间间隔 |
| DATEDIFF() | 返回两个日期之间的天数 |
| DAY() | 返回某日期为当月的第几号 |
| DAYOFYEAR() | 返回日期所对应在一年中的天数 |
| EXTRACT() | 从日期中提取部分内容 |
| HOUR() | 返回时间的小时数 |
| FROM_UNIXTIME() | 把内部 UNIX 时间戳值转换为普通格式的日期时间值,以 YYYY-MM-DD HH:MM:SS 或 YYYYMMDDHHMMSS 格式来显示 |
| MINUTE() | 返回时间参数的分钟 |
| MONTH() | 返回日期参数的月份 |
| NOW() | 返回当前日期和时间的 'YYYY-MM-DD HH:MM:SS' 格式的值。 |
| SECOND() | 返回时间参数的秒数 |
| STR_TO_DATE() | 按照指定日期或时间显示格式,将字符串转换为日期或日期时间类型 |
| SYSDATE() | 返回当前日期和时间的 'YYYY-MM-DD HH:MM:SS' 格式的值。 |
| TIME() | 提取时间或日期时间的时间部分并将其作为字符串返回 |
| TIMEDIFF() | 返回两个时间参数之间的差值 |
| TIMESTAMP() | 将日期或日期时间参数作为日期时间值返回 |
| TIMESTAMPDIFF() | 返回一个整数,表示在给定的时间单位内,从第一个日期时间表达式到第二个日期时间表达式之间的时间间隔 |
| TO_DATE() | 按照指定日期或时间显示格式,将字符串转换为日期或日期时间类型 |
| TO_DAYS() | 用于计算给定日期与公历日历的开始日期(0000 年 1 月 1 日)之间的天数差 |
| TO_SECONDS() | 用于计算给定日期或日期时间 expr 与公元 0 年 1 月 1 日 0 时 0 分 0 秒之间的秒数差 |
| UNIX_TIMESTAMP | 返回自 1970-01-01 00:00:00 UTC 至指定时间的秒数 |
| UTC_TIMESTAMP() | 将当前 UTC 时间以 YYYY-MM-DD hh:mm:ss 或 YYYYMMDDhhmmss 的格式返回 |
| WEEK() | 用于计算给定日期的周数 |
| WEEKDAY() | 返回日期的工作日索引(0 = 星期一,1 = 星期二,... 6 = 星期日) |
| YEAR() | 返回了给定日期的年份 |
数学类函数
| 函数名称 | 作用 |
|---|---|
| ABS() | 用于求参数的绝对值 |
| ACOS() | 用于求给定数值的余弦(用弧度表示) |
| ATAN() | 用于求给定数值的反正切(用弧度表示) |
| CEIL() | 用于求不小于参数的最小整数 |
| CEILING() | 用于求不小于参数的最小整数 |
| COS() | 用于求输入参数(用弧度表示)的余弦值 |
| COT() | 用于求输入参数(用弧度表示)的余切值 |
| CRC32() | 用于用于计算字符串的 CRC32 校验和 |
| EXP() | 用于求以自然常数 e 为底的 number 的指数 |
| FLOOR() | 用于求不大于某个数字的相应数位的数 |
| LN() | 用于求参数的自然对数 |
| LOG() | 用于求参数的自然对数 |
| LOG2() | 用于求以 2 为底参数的对数 |
| LOG10() | 用于求以 10 为底参数的对数 |
| PI() | 用于求数学常量 π (pi) |
| POWER() | POWER(X, Y) 用于求 X 的 Y 次方指数值 |
| ROUND() | 用于求某个数字在特定位数四舍五入后的数值 |
| RAND() | 用于生成一个介于 0 和 1 之间的 Float64 类型的随机数 |
| SIN() | 用于求输入参数(用弧度表示)的正弦值 |
| SINH() | 用于求输入参数(用弧度表示)的双曲正弦值 |
| TAN() | 用于求输入参数(用弧度表示)的正切值 |
字符串类函数
| 函数名称 | 作用 |
|---|---|
| BIN() | 将参数转换为二进制的字符串形式 |
| BIT_LENGTH() | 返回字符串 str 的长度,单位为 bit |
| CHAR_LENGTH() | 以字符为单位返回字符串 str 的长度 |
| CONCAT() | 将多个字符串(或仅含有一个字符串)连接成一个字符串 |
| CONCAT_WS() | 代表 Concatenate With Separator,是 CONCAT() 的一种特殊形式 |
| EMPTY() | 判断输入的字符串是否为空 |
| ENDSWITH() | 检查是否以指定后缀结。 |
| FIELD() | 返回第一个字符串 str 在字符串列表 (str1,str2,str3,...) 中的位置 |
| FIND_IN_SET() | 在逗号分隔的字符串列表中查找指定字符串的位置 |
| FORMAT() | 用于将数字格式设置为 "#,###,###.##" 格式,并四舍五入到小数点后一位 |
| FROM_BASE64() | 用于将 Base64 编码的字符串转换回原始的二进制数据(或文本数据) |
| HEX() | 返回参数的十六进制字符串形式 |
| INSTR() | 返回子字符串在给定字符串中首次出现的位置 |
| LCASE() | 用于将给定的字符串转换为小写形式 |
| LEFT() | 返回 str 字符串中最左边的长度字符 |
| LENGTH() | 返回了字符串的长度 |
| LOCATE() | 用于在字符串中查找子字符串所在位置的函数 |
| LOWER() | 用于将给定的字符串转换为小写形式 |
| LPAD() | 用于在字符串左侧填充 |
| LTRIM() | 将输入字符串的前部空格去除,返回处理后的字符 |
| MD5() | 将输入字符串生成一个 32 字符长的十六进制 MD5 哈希值 |
| OCT() | 返回参数的八进制值的字符串 |
| REPEAT() | 用于将输入的字符串重复 n 次,并返回一个新的字符串 |
| REVERSE() | 将 str 字符串中的字符顺序翻转输出 |
| RPAD() | 用于在字符串右侧填充 |
| RTRIM() | 将输入字符串的后方空格去除 |
| SHA1()/SHA() | 用于计算并返回给定字符串的 SHA-1 哈希值 |
| SHA2() | 返回输入字符串的 SHA2 哈希值 |
| SPACE() | 返回 N 个空格组成的字符串 |
| SPLIT_PART() | 用于在给定的分隔符基础上将一个字符串分解成多个部分 |
| STARTSWITH() | 字符串如果以指定前缀开始返回 1,否则则返回 0 |
| SUBSTRING() | 返回一个从指定位置开始的子字符串 |
| SUBSTRING_INDEX() | 以分隔符为索引,获取不同索引位的字符 |
| TO_BASE64() | 用于将字符串转换为 Base64 编码的字符串 |
| TRIM() | 返回一个字符串,删除不需要的字符 |
| UCASE() | 用于将给定的字符串转换为大写形式 |
| UNHEX() | 用于将十六进制字符串转换为相应的二进制字符串 |
| UPPER() | 用于将给定的字符串转换为大写形式 |
正则表达式
| 函数名称 | 作用 |
|---|---|
| NOT REGEXP() | 用于测试一个字符串是否不匹配指定的正则表达式 |
| REGEXP_INSTR() | 返回匹配到的正则表达式模式在字符串中的起始位置 |
| REGEXP_LIKE() | 用于判断指定的字符串是否与提供的正则表达式模式匹配 |
| REGEXP_REPLACE() | 用于将匹配给定正则表达式模式的字符串替换为指定的新字符串 |
| REGEXP_SUBSTR() | 用于返回字符串参数中匹配正则表达式参数的子字符串 |
向量类函数
| 函数名称 | 作用 |
|---|---|
| 基本操作符 | 向量的加法 (+)、减法 (-)、乘法 (*) 和除法 (/) |
| SQRT() | 用于计算向量中每个元素的平方根 |
| ABS() | 用于计算向量的绝对值 |
| CAST() | 用于显式将一个向量从一个向量类型转换为另一个向量类型 |
| SUMMATION() | 返回向量中所有元素的总和 |
| INNER_PRODUCT() | 用于计算两个向量之间的内积/点积 |
| CLUSTER_CENTERS() | 用于确定向量列的 K 个聚类中心 |
| COSINE_DISTANCE() | 用于计算两个向量的余弦距离 |
| COSINE_SIMILARITY() | 衡量了两个向量之间夹角的余弦值,通过它们在多维空间中的接近程度来表示它们的相似性 |
| L2_DISTANCE() | 用于计算两个向量之间的欧几里得距离 |
| L1_NORM() | 用于计算 l1/曼哈顿/TaxiCab 范数 |
| L2_NORM() | 用于计算 l2/欧几里得范数 |
| NORMALIZE_L2() | 用于执行欧几里得归一化 |
| SUBVECTOR() | 用于从向量中提取子向量 |
| VECTOR_DIMS() | 用于确定向量的维度 |
表函数
| 函数名称 | 作用 |
|---|---|
| GENERATE_SERIES() | 用于成一个从起始值到结束值的序列 |
| UNNEST() | 用于将 JSON 类型数据内的数组类型的列或参数展开为一个表 |
窗口函数
| 函数名称 | 作用 |
|---|---|
| DENSE_RANK() | 为数据集中的每一行提供一个唯一的排名 |
| RANK() | 为数据集中的每一行提供一个唯一的排名 |
| ROW_UNMBER() | 为数据集中的每一行提供一个唯一的序号 |
JSON 函数
| 函数名称 | 作用 |
|---|---|
| JQ() | 用于根据 jq 表达式解析和转换 JSON 数据 |
| JSON_EXTRACT() | 从 JSON 文档返回数据 |
| JSON_EXTRACT_FLOAT64() | 从 JSON 数据中提取指定路径的数值的值 |
| JSON_EXTRACT_STRING() | 从 JSON 数据中提取指定路径的字符串的值 |
| JSON_QUOTE() | 引用 JSON 文档 |
| JSON_ROW() | 用于将每一行转化为 json 数组 |
| JSON_UNQUOTE() | 取消引用 JSON 文档 |
| TRY_JQ() | 用于根据 jq 表达式解析和转换 JSON 数据,并提供容错机制 |
系统运维函数
| 函数名称 | 作用 |
|---|---|
| CURRENT_ROLE_NAME() | 用于查询当前登录的用户所拥有的角色的名称 |
| CURRENT_ROLE() | 返回当前会话的角色 |
| CURRENT_USER_NAME() | 用于查询你当前所登录的用户名称 |
| CURRENT_USER() | 返回当前用户账户 |
| PURGE_LOG() | 用于删除记录于 MatrixOne 数据库系统表中的日志 |
其他函数
| 函数名称 | 作用 |
|---|---|
| LOAD_FILE() | 用于读取 datalink 类型指向文件的内容 |
| SAVE_FILE() | 用于保存 datalink 类型指向文件的内容 |
| SAMPLE() | 主要用于快速缩减查询范围 |
| SERIAL_EXTRACT() | 用于提取序列/元组值中的各个元素 |
| SLEEP() | 将当前查询暂停(睡眠)指定的秒数 |
| STAGE_LIST() | 用于查看 stage 中的目录和文件 |
| UUID() | 返回根据 RFC 4122 生成国际通用唯一标识符 |