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跟踪文件的问题详解
Jun 28 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
Oracle中DBLink的详细介绍
Apr 29 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
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
Python语言快速上手学习方法
2018/12/14 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
Django中create和save方法的不同
2019/08/13 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
仓库保管员岗位职责
2013/12/20 职场文书
小学三年级学生评语
2014/04/22 职场文书
支部组织生活会方案
2014/06/10 职场文书
安全生产年活动总结
2014/08/29 职场文书
如何写好竞聘报告
2019/04/03 职场文书
升职自荐书
2019/05/09 职场文书
创业计划书之干洗店
2019/09/10 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
php引用传递
2021/04/01 PHP
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL