背景
项目中第一次出现时进行了排查和处理。后面没注意代码编码,第二次出现,找了半天才找到Oracle的原文
问题sql以及报错
SELEC * FROM MY_TABLE WHERE PATH LIKE CONCAT(#{path},%);
当#{path}中传入的值过长时,出现报错
Caused by: java.sql.SQLException: ORA-01560: LIKE 样式包含的字符不完整或非法
原因
网页链接:https://support.oracle.com/knowledge/Oracle%20Database%20Products/2289850_1.html
处理办法
替换CONCAT(#{path},%)
,在代码中拼接好再传入。