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 DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
oracle覆盖导入dmp文件的2种方法
May 21 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
Oracle 临时表空间SQL语句的实现
Sep 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
oracle重置序列从0开始递增1
Feb 28 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
详解SQL的窗口函数
Apr 21 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 adodb连接mssql解决乱码问题
2009/06/12 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
List Installed Hot Fixes
2007/06/12 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
Three.js基础部分学习
2017/01/08 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
原生js开发的日历插件
2017/02/04 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
js前端导出Excel的方法
2017/11/01 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
django的ORM模型的实现原理
2019/03/04 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
struct与class的区别
2014/02/03 面试题
火锅店的活动方案
2014/08/15 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书