• 3.3.4.6使用NULL值


     

    NULL您习惯之前,值可能令人惊讶。从概念上讲,它NULL表示 “ 缺少的未知值 ”,并且与其他值的处理方式有所不同。

    要测试NULL,请使用 IS NULLIS NOT NULL运算符,如下所示:

    mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
    +-----------+---------------+
    | 1 IS NULL | 1 IS NOT NULL |
    +-----------+---------------+
    |         0 |             1 |
    +-----------+---------------+

    你不能使用算术比较操作符,如 =, <或 <>以测试NULL为了自己演示这一点,请尝试以下查询:

    mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
    +----------+-----------+----------+----------+
    | 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
    +----------+-----------+----------+----------+
    |     NULL |      NULL |     NULL |     NULL |
    +----------+-----------+----------+----------+

    由于与的任何算术比较结果 NULL也为NULL,因此您无法从此类比较中获得任何有意义的结果。

    在MySQL中,0NULL 表示false,其他表示true。布尔运算的默认真值是1

    的特殊处理NULL是为什么在上一节中,有必要使用death IS NOT NULL来代替确定哪些动物不再存活death <> NULL

    在中,两个NULL值被视为相等 GROUP BY

    执行时ORDER BY如果执行, NULL则首先显示值,如果执行 ORDER BY ... ASC,则最后显示 ORDER BY ... DESC

    使用时的一个常见错误NULL是假定无法在定义为的列中插入零或空字符串NOT NULL,但事实并非如此。这些实际上是值,而 NULL意味着“ 没有值。您可以使用这个测试很轻松地 IS [NOT] NULL,如图所示:

    mysql> SELECT 0 IS NULL, 0 IS NOT NULL, '' IS NULL, '' IS NOT NULL;
    +-----------+---------------+------------+----------------+
    | 0 IS NULL | 0 IS NOT NULL | '' IS NULL | '' IS NOT NULL |
    +-----------+---------------+------------+----------------+
    |         0 |             1 |          0 |              1 |
    +-----------+---------------+------------+----------------+

    因此,实际上可以将零或空字符串插入NOT NULL列中NOT NULL请参见 第B.3.4.3节“带有NULL值的问题”

     

  • 相关阅读:
    Spring Boot(三):SpringBoot多模块(module)项目搭建
    Spring Boot(二):数据库操作
    Spring Boot(一):入门篇+前端访问后端
    Maven详解之仓库------本地仓库、远程仓库
    单例模式
    Spring常用注解
    初识Spring Bean
    SpringMVC常用注解
    Spring注解与否
    Maven入门
  • 原文地址:https://www.cnblogs.com/owlin/p/13730839.html
Copyright © 2020-2023  润新知