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
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
oracle覆盖导入dmp文件的2种方法
May 21 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 Oracle
Oracle中日期的使用方法实例
Jul 07 Oracle
ORACLE查看当前账号的相关信息
DBCA命令行搭建Oracle ADG的流程
ORACLE数据库应用开发的三十个注意事项
Jun 07 #Oracle
Oracle创建只读账号的详细步骤
Oracle11g R2 安装教程完整版
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
使用Navicat Premium工具将oracle数据库迁移到MySQL
You might like
一个捕获函数输出的函数
2007/02/14 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
为超链接加上disabled后的故事
2010/12/10 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
babel基本使用详解
2017/02/17 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
JSON生成Form表单的方法示例
2018/11/21 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
浅析Python基础-流程控制
2016/03/18 Python
Python中格式化format()方法详解
2017/04/01 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
Python实现批量压缩图片
2018/01/25 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Python 读取位于包中的数据文件
2020/08/07 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
HTML5标签大全
2016/11/23 HTML / CSS
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
生产操作工岗位职责
2014/09/16 职场文书
余世维讲座观后感
2015/06/11 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书