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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Pytest(13)命令行参数–tb的使用

    Pytest(13)命令行参数–tb的使用前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

    2022年7月29日
  • linux平均负载什么意思_linux服务器负载高

    linux平均负载什么意思_linux服务器负载高1,Linux系统的平均负载是什么?特定时间间隔内运行队列中的平均进程数,好象还不够明白:就是进程队列的长度,有多少个进程在排队等待运行2,什么是”进程队列”?一个进程满足以下条件就会位于进程队列中1,它没有在等待I/O操作的结果2,它没有主动进入等待状态(即没有调用wait)3,它没有被停止3,如何查看平均负载?最简单的命令是uptime例子:[www.linuxidc.com@localho…

    2022年9月4日
  • origin多因子柱状图双y轴_origin并列柱状图

    origin多因子柱状图双y轴_origin并列柱状图origin多因子柱状图方法与步骤打开软件,输入数据。其实做这个图的主要关键点就是数据在origin里面的摆放。横坐标X轴为每个指标,Y轴横着放每个组别的数据,为均值加减标准差的形式。选中每一列的标准差数值,设置为Y轴标准差形式选中数据,选择柱状图初始的图就出来了我们再对其进行标签的调整,将多余的删除,纵坐标标签改错。双击图层,去掉横纵坐标的次坐标。选中横纵坐标的字体,统一调整为新罗马字体22号。最后我们双击柱子,改成我们喜欢的颜色就可以了。这里我们可以

    2022年9月30日
  • java switch基础介绍及具体使用方法

    java switch基础介绍及具体使用方法switch的case语句可以处理int,short,byte,char类型的值,但是不能处理long,String等类型。javaswitch基础语法witch(表达式){case表达式常量1:语句1;break;case表达式常量2:语句2;break;……case表达式常量n:语句n;break;[default:语句n+1;]…

    2022年7月8日
  • B. Sereja and Mirroring

    B. Sereja and Mirroring

    2021年9月12日
  • Python Qt GUI设计:5种事件处理机制(提升篇—3)

    Python Qt GUI设计:5种事件处理机制(提升篇—3)事件处理机制本身很复杂,是PyQt底层的知识点,当采用信号与槽机制处理不了时,才会考虑使用事件处理机制。

    2022年5月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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