WHCSRL 技术网

Oracle 数据库SQL报错:格式代码出现两次,解读错误原因,解决方案。

例如:

SELECT a.* 
FROM 
app_retail_prescription_v a 
WHERE 
 a.CREDATE >TO_DATE('2021-10-25 10:40:12','yyyy-mm-dd hh:mm:ss')
  • 1
  • 2
  • 3
  • 4
  • 5

报错信息:

ORA-01810: 格式代码出现两次

错误原因:
SQL中不区分大小写,MM和mm被认为是相同的格式代码,占位符找不到位置,所以提示格式代码出现两次,因此Oracle的SQL采用了mi代替分钟。

解决方法:
yyyy-mm-dd hh:mm:ss 更换成 yyyy-MM-dd HH24:mi:ss

如果时间要使用 < 符号,提示报错,需要转义一下,详细请见
Mybatis中xml文件sql对应的大于、小于、等于符号

推荐阅读