SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

NULL 空值代表丢失的未知数据。

默认情况下,表列可以保存 NULL 值。

本章解释 IS NULL 和 IS NOT NULL 操作符。

NULL 值
如果表中的列是可选的,那么我们可以插入一个新记录或更新一个现有记录,而无需向列添加一个值。这意味着该字段将存储为 NULL 。

NULL 值的处理与其他值不同。

NULL 为未知或不适当值的占位符。

注释:无法比较 NULL 和 0;它们是不等价的。

NULL 值处理
请看下面的 "Customers" 表:

如果 "Customers" 表 "地址" 一栏是可选的。这意味着,如果在 "地址" 列中插入一个没有值的记录,则 "地址" 列将用 NULL 值保存。

那么如何测试null的值呢?

不能使用比较操作符测试 NULL 值,例如=、<或<>。

我们必须使用 IS NULL 和 IS NOT NULL 操作符。

IS NULL
我们如何才能选择 "地址" 列中有 NULL 值的记录?

我们必须使用 IS NULL 操作符:

SELECT * FROM Customers

WHERE 地址 IS NULL

结果集如下所示:

提示:总是使用 IS NULL 来查找 NULL 值。

IS NOT NULL
我们如何才能选择 "地址" 列中没有 NULL 值的记录?

我们必须使用 IS NOT NULL 操作符:

SELECT * FROM Customers

WHERE 地址 IS NOT NULL

结果集如下所示:

批注

NULL值在建表的时候就可以默认分配,在查询过程中不能使用比较操作符来进行筛选或查找,只能使用IS NULL和IS NOT NULL,否则就会报语法错误。

©著作权归作者所有:来自51CTO博客作者mb5fd8698f60f87的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. kubernetes其他控制器之PodDisruptionBudget
  2. MySQL常用的查询操作
  3. OracleRAC日常操作,使用RMAN将数据文件移入ASM
  4. 华为交换机配置基于IP地址划分VLAN
  5. 华为ENSP模拟器的使用-在web界面登陆防火墙的操作步骤
  6. 华为路由交换技术:VRRP-虚拟网关冗余协议配置
  7. 华为配置基于MAC地址划分VLAN
  8. django模型使用
  9. 使用jquery实现全选、全不选等购物车操作

随机推荐

  1. 线程同步-生产者消费者问题
  2. linux下touch命令也可以一次创建多个文件
  3. linux如何处理多连接请求?
  4. Linux下安装配置MongoDB数据库图解
  5. Linux驱动学习1.hello world;
  6. TCP在Linux内核中调用流
  7. linux notepadqq不支持中文输入的原因分
  8. Linux下的find 命令使用实例
  9. UBUNTU 12.04下傻瓜式简单安装arm-linux-
  10. 在Ubuntu 9.10中有奇怪的pynotify行为