SQL语句LIKE CONCAT模糊查询

SQL语句LIKE CONCAT模糊查询Oracle拼接字符串concat需要注意的小事项在用ssm框架编写代码的时候,因为数据库换成了Oracle,在模糊查询数据的时候突然发现报错了select*fromSYS_MENUwhereurllikeconcat(‘%’,#{roleName},’%’)一直报错参数个数无效,在网上查找资料发现模糊查询的sql语句还是concat(‘%’,’s’,’%’)这样写的…

大家好,又见面了,我是你们的朋友全栈君。

Oracle拼接字符串concat需要注意的小事项

在用ssm框架编写代码的时候,因为数据库换成了Oracle,在模糊查询数据的时候突然发现报错了

select * from SYS_MENU where url like concat(‘%’,#{roleName},’%’)

一直报错参数个数无效,在网上查找资料发现模糊查询的sql语句还是concat(‘%’,’s’,’%’)这样写的

但后面发现实际上oracle中不支持concat的三个参数的拼接,需要更正为

     select * from SYS_MENU where url like concat(concat(‘%’,#{roleName}),’%’)

或者使用

 

select * from SYS_MENU where url like ‘%’ ||  #{roleName} || ‘%’;

 

 

<select id=”findByPage” resultMap=”BaseResultMap” parameterType=”MLopLog”>
        SELECT ID,
        SHELVE_NO,
        IN_TIME,
        OUT_TIME,
        ACCOUNT_ID,
        TRANS_TIME,
        TU_ID
        FROM TB_DM_ML_OPLOG t
        WHERE 1=1
        <if test=”param.id != null “>
            AND t.ID=#{param.id}
        </if>
        <if test=”param.tuId != null and param.tuId != ””>
            AND t.TU_ID=#{param.tuId}
        </if>
        <if test=”param.accountId != null and param.accountId != ””>
            AND t.ACCOUNT_ID LIKE CONCAT(CONCAT(‘%’,#{param.accountId}),’%’)
        </if>
        <if test=”param.shelveNo != null and param.shelveNo != ””>
            AND t.SHELVE_NO LIKE CONCAT(CONCAT(‘%’,#{param.shelveNo}),’%’)
        </if>
    </select>

 

https://blog.csdn.net/lipr86/article/details/53669757

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139498.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C#Random()函数详解「建议收藏」

    C#Random()函数详解「建议收藏」随机数的使用很普遍,可用它随机显示图片,用它防止无聊的人在论坛灌水还可以用来加密信息等等。本文讨论如何在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6个互不相同的整数,并通过此文介绍Visualc#中随机数的用法。.net.Frameword中提供了一个专门产生随机数的类System.Random,此类默认情况下已被导入,编程过程中可以直接使用。我们知道,计算机并不…

  • js中setTimeout和clearTimeout的使用

    js中setTimeout和clearTimeout的使用一、概念1、js中可以通过setTimeout函数设置定时器,让指定的代码在指定的时间运动. 如果我们希望在setTimeout之行前终止其运行就可以使用clearTimeout()。2、clearTimeout()用于重置js定时器,如果你希望阻止setTimeout的运行,就可以使用clearTimeout方法。二、使用场景1、写计时器2、需要让程序隔一

    2022年10月26日
  • Error:Failed to find Build Tools revision 24.0.1 <a href=”install.build.tools”>Install Build Tools 2

    Error:Failed to find Build Tools revision 24.0.1 <a href=”install.build.tools”>Install Build Tools 2

  • Linux文件操作高频使用命令

    Linux文件操作高频使用命令文章目录0.新建操作:1.查看操作2.删除操作3.复制操作4.移动操作:5.重命名操作:6.解压压缩操作0.新建操作:mkdirabc#新建一个文件夹touchabc.sh#新建一个文件1.查看操作查看目录:ll#显示目录文件详细信息查看文件内容:cat|head|tail命令catabc.txt#查看abc的内容head-5abc.txt#…

  • DDD(领域驱动设计)

    基本概念:  领域驱动设计(简称ddd)概念来源于2004年著名建模专家ericevans发表的他最具影响力的书籍:《domain-drivendesign–tacklingcomplexityintheheartofsoftware》(中文译名:领域驱动设计—软件核心复杂性应对之道)一书。,书中提出了“领域驱动设计(简称ddd)”的概念。领域驱动设…

  • 关于zigbee协议栈各层的系统分析

    关于zigbee协议栈各层的系统分析随着传感器网络的大肆应用;随着物联网概念的爆发;随着通信技术的迅速发展,人们提出了在自身附近几米范围内通信的要求,这样就出现了个人区域网络PAN(PersonalAreaNetwork)和无线个人区域网络WPAN(WirelessPersonalAreaNetwork)的概念。WPAN网络为近距离范围内的设备建立无线连接,把几米到几十米范围内的多个设备通过无线方式连接在一起,使他们可以相互通信甚至接入LAN或者Internet。2001年8月成立的zigbee联盟就是一个针对WPAN网络而成立的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号