函数总表

本文档列出了 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()

用于求给定数值的反正切(用弧度表示)

BIT_COUNT()

返回参数的二进制表示中值为 1 的位数

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 哈希值

NAME_CONST()

返回具有指定列名的给定值,用于复制场景

OCT()

返回参数的八进制值的字符串

REPEAT()

用于将输入的字符串重复 n 次,并返回一个新的字符串

REVERSE()

将 str 字符串中的字符顺序翻转输出

RPAD()

用于在字符串右侧填充

RTRIM()

将输入字符串的后方空格去除

SHA1()/SHA()

用于计算并返回给定字符串的 SHA-1 哈希值

SHA2()

返回输入字符串的 SHA2 哈希值

SPACE()

返回 N 个空格组成的字符串

SPLIT_PART()

用于在给定的分隔符基础上将一个字符串分解成多个部分

STARTSWITH()

字符串如果以指定前缀开始返回 1,否则则返回 0

STRCMP()

用于比较两个字符串的大小或是否相等

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_SET()

用于在一个 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 生成国际通用唯一标识符