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 05 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle中update和select 关联操作
Jan 18 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
Oracle中DBLink的详细介绍
Apr 29 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实现定时生成HTML网站首页实例代码
2008/11/20 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
简单谈谈python基本数据类型
2018/09/26 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
物业经理求职自我评价
2013/09/22 职场文书
开水果连锁店创业计划书
2013/12/29 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS
Python简易开发之制作计算器
2022/04/28 Python