Oracle 与 Mysql NULL值,空字符串''的区别


Oracle(null等同于空字符'')

1.oracle插入空字符串默认替换成null

2.oracle查询(null和被替换的空字符)时使用 is null/is not null

3.使用聚合函数时自动忽略null值

Mysql(null不等同于空字符'')

1.mysql插入null显示为null,插入空字符串显示空

2.null查询用 is null/is not null,空字符''查询用 =''/<>''

3.使用聚合函数时自动忽略null值

 

mapping.xml:

<if test='desc1!=null '>
    <choose>
        <when test='desc1!="" '>
            and A.DESC1 = #{desc1}
        </when>
        <otherwise>
            and (A.DESC1 is null or A.DESC1 = '')
        </otherwise>
    </choose>
</if>

java逻辑:

if desc1 !=null{
  switch(s):
        case desc1!="":and A.DESC1 = #{desc1}
        default:A.DESC1 is null or A.DESC1 = ''
}else{

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM