zoukankan      html  css  js  c++  java
  • SQL NULL深入探究

          正常观念来说,对于判断只有是与否两个逻辑,而在SQL中还有NULL,在SQL这个环境中,算是三值逻辑。

          NULL到底是什么? 是值?一个常量?变量?都不是!NULL既不是值也不是变量,NULL只是一个表示“没有值”的标记,它只是一个标记而已。

          在SQL中我们对于NULL的判断是:IS NULL 或者 IS Not NULL,而不是用比较符号如:=NULL 或 >NULL 或 <NULL 或 <> NULL 或 NULL=NULL,原因就是NULL只是一个标记,对于标记不可能使用比较符号去比较。

          对于=NULL 或 >NULL 或 <NULL 或 <> NULL 或 NULL=NULL可以理解为unknow,unknow是关系型数据库中第三个布尔型真值,表示“未知”的意思。

          那么true,false,unknow三者关系如下:

    • NOT 真值表:
    X Not X
    true false
    unknow unknow
    false true
    • AND 真值表
    AND true unknow false
    true true unknow false
    unknow unknow unknow false
    false false false false
    • OR 真值表
    OR true unknow false
    true true true true
    unknow true unknow unknow
    false true unknow false
    • 优先级顺序
      AND:false > unknow > true
      OR: true > unknow >false
  • 相关阅读:
    为页面上某些文本框添加离开验证输入事件
    学习之UML类图符号
    djangomagic blog
    验证码识别基础方法及源码
    LINQ TO XML实用解析
    解决ASP.NET中的各种乱码问题
    ASP.NET 1.1 ~ 4.0 中的哈希碰撞漏洞
    断点续传下载文件
    SQL Server资源
    Python图片浏览器
  • 原文地址:https://www.cnblogs.com/wangqilong/p/12540343.html
Copyright © 2011-2022 走看看