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 DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
使用Navicat Premium工具将oracle数据库迁移到MySQL
May 27 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
关于Oracle12C默认用户名system密码不正确的解决方案
Oct 16 Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Nov 20 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 Oracle
Oracle查看表空间使用率以及爆满解决方案详解
Jul 23 Oracle
ORACLE查看当前账号的相关信息
DBCA命令行搭建Oracle ADG的流程
ORACLE数据库应用开发的三十个注意事项
Jun 07 #Oracle
Oracle创建只读账号的详细步骤
Oracle11g R2 安装教程完整版
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
使用Navicat Premium工具将oracle数据库迁移到MySQL
You might like
PHP编程与应用
2006/10/09 PHP
php array_slice函数的使用以及参数详解
2008/08/30 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
Python实现把回车符\r\n转换成\n
2015/04/23 Python
python版DDOS攻击脚本
2019/06/12 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
python调用百度API实现人脸识别
2020/11/17 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
高级销售求职信
2014/02/21 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
如何书写邀请函?
2019/06/24 职场文书
创业计划书之水果店
2019/07/18 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android