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通过存储过程上传list保存功能
May 12 Oracle
使用Navicat Premium工具将oracle数据库迁移到MySQL
May 27 Oracle
Oracle创建只读账号的详细步骤
Jun 07 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
Oracle锁表解决方法的详细记录
Jun 05 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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
网络工程专业自荐信范文
2014/03/16 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
企业年检委托书范本
2014/10/14 职场文书
自我推荐信格式模板
2015/03/24 职场文书
锦旗赠语
2015/06/23 职场文书