函数总表

本文档列出了 MatrixOne 最新版本所支持的函数清单。

聚合函数

函数名称作用
ANY_VALUE()在参数范围内任选一个值返回
AVG()计算参数列的算术平均值。
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()返回日期参数的月份
SECOND()返回时间参数的秒数
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()用于求不小于参数的最小整数。
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()用于将数字格式设置为 “#,###,###.##” 格式,并四舍五入到小数点后一位。
HEX()返回参数的十六进制字符串形式
INSTR()返回子字符串在给定字符串中首次出现的位置。
LEFT()返回 str 字符串中最左边的长度字符。
LENGTH()返回了字符串的长度。
LOCATE()用于在字符串中查找子字符串所在位置的函数。
LOWER()用于在字符串左侧填充
LPAD()ROUND() 函数返回了某个数字在特定位数四舍五入后的数值
LTRIM()将输入字符串的前部空格去除,返回处理后的字符。
OCT()返回参数的八进制值的字符串
REPEAT()用于将输入的字符串重复 n 次,并返回一个新的字符串
REVERSE()将 str 字符串中的字符顺序翻转输出。
RPAD()用于在字符串右侧填充
RTRIM()将输入字符串的后方空格去除
SHA2()返回输入字符串的 SHA2 哈希值。
SPACE()返回 N 个空格组成的字符串。
SPLIT_PART()用于在给定的分隔符基础上将一个字符串分解成多个部分
STARTSWITH()字符串如果以指定前缀开始返回 1,否则则返回 0。
SUBSTRING()返回一个从指定位置开始的子字符串
SUBSTRING_INDEX()以分隔符为索引,获取不同索引位的字符。
TRIM()返回一个字符串,删除不需要的字符。
UCASE()用于将给定的字符串转换为大写形式。
UPPER()用于将给定的字符串转换为大写形式。

正则表达式

函数名称作用
NOT REGEXP()用于测试一个字符串是否不匹配指定的正则表达式
REGEXP_INSTR()返回匹配到的正则表达式模式在字符串中的起始位置。
REGEXP_LIKE()用于判断指定的字符串是否与提供的正则表达式模式匹配
REGEXP_REPLACE()用于将匹配给定正则表达式模式的字符串替换为指定的新字符串
REGEXP_SUBSTR()用于返回字符串参数中匹配正则表达式参数的子字符串

向量类函数

函数名称作用
基本操作符向量的加法 (+)、减法 (-)、乘法 (*) 和除法 (/)
SQRT()用于计算向量中每个元素的平方根
ABS()用于计算向量的绝对值
CAST()用于显式将一个向量从一个向量类型转换为另一个向量类型
SUMMATION()返回向量中所有元素的总和
INNER_PRODUCT()用于计算两个向量之间的内积/点积
COSINE_SIMILARITY()衡量了两个向量之间夹角的余弦值,通过它们在多维空间中的接近程度来表示它们的相似性
L1_NORM()用于计算 l1/曼哈顿/TaxiCab 范数
L2_NORM()用于计算 l2/欧几里得范数
VECTOR_DIMS()用于确定向量的维度

表函数

函数名称作用
UNNEST()用于将 JSON 类型数据内的数组类型的列或参数展开为一个表

窗口函数

函数名称作用
DENSE_RANK()为数据集中的每一行提供一个唯一的排名
RANK()为数据集中的每一行提供一个唯一的排名
ROW_UNMBER()为数据集中的每一行提供一个唯一的序号

JSON 函数

函数名称作用
JSON_EXTRACT()从 JSON 文档返回数据
JSON_QUOTE()引用 JSON 文档
JSON_UNQUOTE()取消引用 JSON 文档

系统运维函数

函数名称作用
CURRENT_ROLE_NAME()用于查询当前登录的用户所拥有的角色的名称。
CURRENT_ROLE()返回当前会话的角色。
CURRENT_USER_NAME()用于查询你当前所登录的用户名称。
CURRENT_USER()返回当前用户账户
PURGE_LOG()用于删除记录于 MatrixOne 数据库系统表中的日志。

其他函数

函数名称作用
SAMPLE()主要用于快速缩减查询范围
SLEEP()将当前查询暂停(睡眠)指定的秒数
UUID()返回根据 RFC 4122 生成国际通用唯一标识符