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。
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐