今天在工作过程中遇到一个问题,模糊查询后台拼接的时候报错,错误异常为:ORA-00909:参数个数无效,简单分析了一下代码,问题可能出现在模糊查询拼凑SQL的时候。而常规在MySql中无异常,Oracle中会出现此问题。
问题代码:
DATA_TABLE_NAME LIKE CONCAT('%',#{tableName},'%')
问题原因:
在Oracle中CONCAT函数每次只能进行两个字符串的拼接,两个以上就会报错.
解决示例:
DATA_TABLE_NAME LIKE CONCAT(CONCAT('%',#{tableName}),'%')