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设置DB、监听和EM开机启动的方法
Apr 25 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
详解SQL的窗口函数
Apr 21 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
oracle数据库去除重复数据
May 20 Oracle
ORACLE查看当前账号的相关信息
DBCA命令行搭建Oracle ADG的流程
ORACLE数据库应用开发的三十个注意事项
Jun 07 #Oracle
Oracle创建只读账号的详细步骤
Oracle11g R2 安装教程完整版
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
使用Navicat Premium工具将oracle数据库迁移到MySQL
You might like
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
python实现调用其他python脚本的方法
2014/10/05 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python中的字符串替换操作示例
2016/06/27 Python
python实现机器人行走效果
2018/01/29 Python
Django数据库表反向生成实例解析
2018/02/06 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python 瀑布线指标编写实例
2020/06/03 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
农民入党思想汇报
2014/01/03 职场文书
信息总监管理职责范本
2014/03/08 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
文化产业实施方案
2014/06/07 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
师德师风个人整改措施
2014/10/27 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server