MYSQL 8.0-新特性汇总(三)
强制类型转换
CAST函数:调整数据类型
CAST
现在支持转成YEAR
类型
- 语法:
CAST(expr AS type [ARRAY])
mysql> SELECT CAST("2020-07-28 14:50:15+1:00" AS YEAR);
+-------------------------+
| CAST("1979aaa" AS YEAR) |
+-------------------------+
| 2020 |
+-------------------------+
1 row in set, 1 warning (0.00 sec)
CONVERT函数:调整字符编码
CONVERT(expr USING transcoding_name)
CONVERT(expr,type)
SELECT CONVERT('abc' USING utf8mb4);
ON DUPLICATE KEY UPDATE
后续补充
新增JSON_VALUE
函数
JSON_VALUE
函数的语法如下
JSON_VALUE(json_doc, path [RETURNING type] [on_empty] [on_error])
on_empty: //如果查找为空时的处理
{NULL | ERROR | DEFAULT value} ON EMPTY
on_error: //如果查找错误时的处理
{NULL | ERROR | DEFAULT value} ON ERROR
JSON_VALUE
函数等价于下面这种形式
CAST(
JSON_UNQUOTE( JSON_EXTRACT(json_doc, path) )
AS type
);
对MySQL授权表进行非锁定读取
对于非修改数据的DML操作,授权数据,而不需要获取锁
SELECT ... FOR SHARE