我是靠谱客的博主 拉长花卷,最近开发中收集的这篇文章主要介绍sql语句中,双竖线“||”遇到的坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.业务背景

以前的一个项目是用oracle做的,现在改成maria数据库,orm用的是mybatis

 2.遇到的问题

本以为换个数据库只要改些配置就行了,没想到遇到一个like语句的问题,无论条件传入什么,返回的是全部的值

sql是这样写的

    <if test="name!= null and name!= ''">
       and name like '%'||#{name}||'%'
    </if>

3.调查结果

原来双竖线“||”在oracle里的意思是连接多个字符,而在mysql和maria中是“或”的意思。所以以后写sql的时候还是要用标准的sql语句来写,或者调用函数的方式,比如name like CONCAT( '%',#{name},'%')

最后

以上就是拉长花卷为你收集整理的sql语句中,双竖线“||”遇到的坑的全部内容,希望文章能够帮你解决sql语句中,双竖线“||”遇到的坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部