Skip to content

函数总表

本文档列出了 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() 用于求输入参数(用弧度表示)的余切值。
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() 用于确定向量的维度

表函数

函数名称 作用
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 生成国际通用唯一标识符