开发者

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

    MySQL中is null和=null的区别及说明

    2.2 查询条件为 is null

    执行后发现返回行数为8

    MySQL中is null和=null的区别及说明

    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)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜