在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如果去运行一下试试的话差别会很大!
为什么会出现这种情况呢?
null 表示什么也不是, 不能=、>、< … 所有的判断,结果都是false,所有只能用 is null进行判断。
默认情况下,推荐使用 IS NOT NULL去判断,因为SQL默认情况下对!= Null的判断会永远返回0行,但没有语法错误。
如果你一定想要使用!= Null来判断,需要加上这个语句:
set ANSI_NULLS off
这时你会发现IS NOT NULL 和 != null 是等效的。
相关文章
- 12-18RobotFramework中None与null的使用
- 12-18C#中DBNull.Value和Null的用法和区别
- 12-18RobotFramework中None与null的使用
- 12-18js高级---undefined与null的区别 / 区别变量类型与数据类型
- 12-18关于链表的长度,head == NULL 与 head.next == NULL的区别
- 12-18python学习小技巧:举例讲解Python中的Null模式与桥接模式编程
- 12-18iOS中 nil Nil NULL 的区别
- 12-18Java中长度为0的数组与null的区别
- 12-18数据库 ""和null的在java 持久化中的区别
- 12-18MySql中Blob与Text的区别