mysql函数
常用函数参考:https://www.cnblogs.com/tangshow/p/15944769.html
官方函数库参考:https://dev.mysql.com/doc/refman/8.0/en/functions.html
比较函数与运算符
逻辑运算符
赋值运算符
流程控制
算术操作符
数学函数
日期函数
字符串比较运算符
正则表达式
类型转换运算符
位运算符
创建json函数
- JSON_ARRAY([val[, val] …])(可能为空的)值列表并返回一个包含这些值的 JSON 数组
mysql> SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());
+---------------------------------------------+
| JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) |
+---------------------------------------------+
| [1, "abc", null, true, "11:30:24.000000"] |
+---------------------------------------------+
- JSON_OBJECT([key, val[, key, val] …])(可能为空的)键值对列表并返回一个包含这些对的 JSON 对象。NULL如果任何键名称为奇数或参数数量为奇数, 则会发生错误
mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot');
+-----------------------------------------+
| JSON_OBJECT('id', 87, 'name', 'carrot') |
+-----------------------------------------+
| {"id": 87, "name": "carrot"} |
+-----------------------------------------+
- JSON_QUOTE(string) 通过用双引号字符包装字符串并转义内部引号和其他字符,将字符串引用为 JSON 值,然后将结果作为 utf8mb4字符串返回
mysql> SELECT JSON_QUOTE('null'), JSON_QUOTE('"null"');
+--------------------+----------------------+
| JSON_QUOTE('null') | JSON_QUOTE('"null"') |
+--------------------+----------------------+
| "null" | "\"null\"" |
+--------------------+----------------------+
mysql> SELECT JSON_QUOTE('[1, 2, 3]');
+-------------------------+
| JSON_QUOTE('[1, 2, 3]') |
+-------------------------+
| "[1, 2, 3]" |
+-------------------------+
聚合函数
窗口函数
- mysql8.0支持窗口函数,也被称为分析函数,窗口函数对一组查询行执行类似聚合的操作。但是,虽然聚合操作将查询行分组为单个结果行,但窗口函数会为每个查询行生成一个结果
- 简化查询、速度快
- 分组、排序
- 功能丰富
#语法
函数名() OVER 窗口名 … WINDOW 窗口名 AS (PARTITION BY 字段名 ORDER BY 字段名 [ASC|DESC])
SELECT
time, subject, val,
SUM(val) OVER (PARTITION BY subject ORDER BY time
ROWS UNBOUNDED PRECEDING)
AS running_total,
AVG(val) OVER (PARTITION BY subject ORDER BY time
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
AS running_average
FROM observations;