MySQL中is null和=null的区别及说明
目录
- 1.什么是null
- 2.执行对比
- 2.1 查询条件为 =null
- 2.2 查询条件为 is null
- 2.3 两次查询的为何不同
- 2.4 使用 =null的解决方式
- 总结
1.什么是null
mysql 中 null 不代表任务实际的值,类似于一个未知数。
2.执行对比
2.1 javascript查询条件为 =null
执行之后,发现返回行数为0
2.2 查询条件为 is null
执行后发现返回行数为8
2.3 两次查询的为何不同
null 在MySQL中不代表任何值,通过运算符是编程客栈得不到任何结果的,因此只能用 is null(默认情况)
2.4 使用 =null的解决方式
因为在非ANSI SQL标准中,data=nullwww.devze.com等同于data is null,data<>nullwww.devze.com等同于data is not null,所以使用 =null 可以进行以下设置:
set ANSI_NULLS OFF;
- 如果 set ANSI_NULLS为 ON 时,表示SQL语句遵循SQL编程客栈-92标准;
- 如果 set ANSI_NULLS 为 OFF 时,表示不遵从 SQL-92 标准。
但SQL-92 标准要求对null的 = 或不等于 (!= ,<>) 比较取值都为 false,也就是 =null 或者 <>null,返回的都是false。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论