函数总表
本文档列出了 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 生成国际通用唯一标识符 |