4016错误

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】sql无法查询
【复现路径】问题出现前后相关操作
【问题现象及影响】SELECT
count(0)
FROM
ssecsp_dynamic.alarm_record_info ari
LEFT JOIN ssecsp_dynamic.alarm_problem ap ON ap.record_id = ari.id
JOIN shipbasedb.ship_base_info sbi ON sbi.ship_name = ari.ship_name
WHERE
ari.alarm_time BETWEEN ‘20231015000000’ AND ‘20231022225600’
AND ari.alarm_type IN ( ‘无证越界报警’ )

【附件】

2 个赞

image

2 个赞

表结构,上一下,我试试

2 个赞

有没有关于ob所有错误码的介绍

1 个赞

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218679

1 个赞

好的,谢谢

1 个赞

我们有一个字符串类型的alarm_time然后where条件中使用alarm_time BETWEEN 20231015000000 AND 20231022225600这样是没有问题的,但是ari.alarm_time BETWEEN ’20231015000000‘ AND ‘20231022225600’就会报错

1 个赞

您使用的是 OceanBase 哪个版本

1 个赞

最新版

我在 4.2.1 CE 上试了下这种 between 查询,并没有复现出这种报错。麻烦提供一下具体的版本信息 show variables like '%version%';

另外可以的话请提供一下建表和查询的 sql,您可以使用附件或者编辑器的代码块来上传以免网页转换格式。

可以进您联系方式吗,我大概说一下出现这种文件的场景,我们现在的逻辑是这样,执行sql查数据,同时有另一个job任务向这个表里写数据,他俩同时执行时,就有可能报错,然后无论怎么查就都报这个错了,清楚把这个表的数据清除,其中我们这个sql关联了一个视图如果不对视频关联查询,也可以正常查询出来结果

确认是一个内核 bug,目前已经修复,下次发布版本后升级可以解决。

1 个赞