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数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
Oracle设置DB、监听和EM开机启动的方法
Apr 25 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
oracle索引总结
Sep 25 Oracle
Oracle 临时表空间SQL语句的实现
Sep 25 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
详解SQL的窗口函数
Apr 21 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 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 随机数的深入理解
2013/06/05 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python实现分页效果
2017/10/25 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
校园门卫岗位职责
2013/12/09 职场文书
建筑专业自荐信范文
2014/01/05 职场文书
幼儿园秋游感想
2014/03/12 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
事业单位鉴定材料
2014/05/25 职场文书
搞笑的获奖感言
2014/08/16 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
Golang的继承模拟实例
2021/06/30 Golang