问题描述

在作列表查询时,后台报一个SQL错误。

打印日志如下:

1
Caused by: oracle.jdbc.OracleDatabaseException: ORA-01861: literal does not match format string

错误原因如下

使用日期字符串与date字符比较,前后类型不一致

1
2
3
4
5
6
-- 错误写法
where creation>= '2023-09-06 10:00:00' and creation <= '2023-09-30 12:00:00'

-- 正确写法
where creation>= to_date('2023-09-06 10:00:00','YYYY-MM-DD HH24:MI:SS')
and creation <= to_date('2023-09-30 10:00:00','YYYY-MM-DD HH24:MI:SS');

参考地址

ORA-01861 @stack overflow