SQL模糊查询报:ORA-00909:参数个数无效问题的解决


Posted in Oracle onJune 21, 2021

用oracle数据库进行模糊查询时,

控制台报错如下图所示:

SQL模糊查询报:ORA-00909:参数个数无效问题的解决

原因是因为敲的太快,语法写错了

正确的写法是

pd.code like concat(concat('%',#{keyword}),'%')

java.sql.SQLSyntaxErrorException: ORA-00909: 参数个数无效

用MyBatis进行多参数模糊查询的时候遇到这个异常,看了下打印日志,发现异常出在预编译之后,插入实参的时候。

==> Preparing: select role_id, role_name, note from t_role where role_name like concat('%', ?, '%') and note like concat('%', ?, '%')
2018-12-13 20:24:28,567 DEBUG [com.ss.learn.chapter3.mapper.RoleMapper.getRolesByIdAndNote] - ==> Parameters: 1(String), 1(String)

异常提示:参数个数无效。检查了下SQL语句

select role_id, role_name, note from t_role
where role_name like concat('%', ?, '%') and note like concat('%', ?, '%')

发现问题出现在concat上,concat是连接两个字符串的函数,这里连接了三个,把SQL改成两个concat嵌套的

<select id="getRolesByIdAndNote" parameterType="map" resultType="role">
        select role_id, role_name, note from t_role 
        where role_name like concat(concat('%', #{roleName}), '%')
        and note like concat(concat('%', #{note}), '%')
    </select>

运行成功。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木!

Oracle 相关文章推荐
oracle表分区的概念及操作
Apr 24 Oracle
Oracle设置DB、监听和EM开机启动的方法
Apr 25 Oracle
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
详解SQL的窗口函数
Apr 21 Oracle
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
Jun 28 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 Oracle
Oracle删除归档日志及添加定时任务
Jun 28 Oracle
ORACLE查看当前账号的相关信息
DBCA命令行搭建Oracle ADG的流程
ORACLE数据库应用开发的三十个注意事项
Jun 07 #Oracle
Oracle创建只读账号的详细步骤
Oracle11g R2 安装教程完整版
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
使用Navicat Premium工具将oracle数据库迁移到MySQL
You might like
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php中stdClass的用法分析
2015/02/27 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
mouse_on_title.js
2006/08/25 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
了解重排与重绘
2019/05/29 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python3.6实现学生信息管理系统
2019/02/21 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Django框架 querySet功能解析
2019/09/04 Python
python根据时间获取周数代码实例
2019/09/30 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
教育实习生的自我评价分享
2013/11/21 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
高中历史教学反思
2014/02/08 职场文书
父母对孩子的寄语
2014/04/09 职场文书
员工规章制度范本
2015/08/07 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
Python上下文管理器Content Manager
2021/06/26 Python