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