MySQL中is null和=null的区别及说明
作者:lvhui321
这篇文章主要介绍了MySQL中is null和=null的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1.什么是null
MySQL 中 null 不代表任务实际的值,类似于一个未知数。
2.执行对比
2.1 查询条件为 =null
执行之后,发现返回行数为0
2.2 查询条件为 is null
执行后发现返回行数为8
2.3 两次查询的为何不同
null 在MySQL中不代表任何值,通过运算符是得不到任何结果的,因此只能用 is null(默认情况)
2.4 使用 =null的解决方式
因为在非ANSI SQL标准中,data=null等同于data is null,data<>null等同于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。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。