基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
MySQL 模式下时间类型间隔计算错误,错误代码 4016
更新时间:2024-01-22 01:56
介绍 MySQL 模式下时间类型间隔计算错误报 4016 错误的解决方法。
影响版本
OceanBase 数据库 V1.4.79 BP6 之前的版本
OceanBase 数据库 V2.2.30 BP1 ~ BP10
问题现象
在 MySQL 模式下执行以下 SQL 报错,错误信息如下。
mysql> CREATE TABLE tt(c1 timestamp);
mysql> INSERT INTO tt VALUES (2000-10:31 10:32:21.232);
mysql> SELECT c1, CASE WHEN 1 THEN c1 + interval 1 second WHEN 2 THEN c1 - interval 1 second ELSE null END FROM tt;
ERROR 4016 (HY000): Ooooooooooooops
可能原因
可能是由于 datetime、timestamp、time 类型在和 interval 类型进行计算时,没有考虑 scale 导致查询报错。
解决方式
对于 OceanBase 数据库 V1.4.79 版本,将 OceanBase 数据库升级到 V1.4.79 BP6 以后的版本。
对于 OceanBae 数据库 V2.2.30 版本,将 OceanBase 数据库升级到 V2.2.30 BP11 以后的版本。
有关 OceanBase 数据库的升级方法,参见《OceanBase 数据库 升级指南》。