Oceanbase(Oracle)踩坑记录

ORA-01843: not a valid month

错误SQL

1
2
3
4
5
6
SELECT
*
FROM
mytable
WHERE
mytable.xxx BETWEEN '2024-01-10 00:00:00' AND '2025-01-10 23:59:59'

错误原因

没有使用TO_DATE函数

ORA-01810: format code appears twice

错误SQL

1
2
3
4
5
6
SELECT
*
FROM
mytable
WHERE
mytable.xxx BETWEEN TO_DATE('2024-01-10 00:00:00', 'yyyy-MM-dd HH:mm:ss') AND TO_DATE('2025-01-10 23:59:59', 'yyyy-MM-dd HH:mm:ss')

错误原因

Oracle不区分大小写,所以这里不能用yyyy-MM-dd HH:mm:ss,日期里面有mm,时间中也有mm就导致了这个错误。
改成yyyy-mm-dd hh24:mi:ss即可

参考

执行计划查看方式

这块官网文档有写:查看执行计划

简单来说主要就是在SQL上加上EXPLAIN即可