NULL 值是遗漏的未知数据。

默认地,表的列可以存放 NULL 值。

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

SQL NULL 值

如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。

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

NULL 用作未知的或不适用的值的占位符。

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

SQL 的 NULL 值处理

请看下面的 "Persons" 表:

Id LastName FirstName Address City
1 Adams John   London
2 Bush George Fifth Avenue New York
3 Carter Thomas   Beijing

假如 "Persons" 表中的 "Address" 列是可选的。这意味着如果在 "Address" 列插入一条不带值的记录,"Address" 列会使用 NULL 值保存。

那么我们如何测试 NULL 值呢?

无法使用比较运算符来测试 NULL 值,比如 =, <, 或者 <>。

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

SQL IS NULL

我们如何仅仅选取在 "Address" 列中带有 NULL 值的记录呢?

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

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

结果集:

LastName FirstName Address
Adams John  
Carter Thomas  

提示:请始终使用 IS NULL 来查找 NULL 值。

SQL IS NOT NULL

我们如何选取在 "Address" 列中不带有 NULL 值的记录呢?

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

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

结果集:

LastName FirstName Address
Bush George Fifth Avenue

最新文章

  1. 【Beta】Scrum09
  2. 软件产品案例分析----K米app
  3. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程
  4. python pymysql和orm
  5. U盘又中毒了,隐藏文件如何显示
  6. MongoDB在windows自启动
  7. JAVA的核心概念:接口(interface)
  8. TQ210裸机编程(2)——LED流水灯
  9. c语言,strcspn,在串中查找第一个给定字符集内容的段
  10. OpenJDK 阅读源代码 Java 实现字节流输入类
  11. IIS7启用静态压缩
  12. php错误及异常捕捉
  13. Effective Java 之-----关于延迟初始化
  14. flutter Row 垂直或水平放置多个widget
  15. Machine Learning--week4 神经网络的基本概念
  16. npm构建保存 code ELIFECYCLE解决办法
  17. union与union all的用法给区别
  18. IBM BR10i阵列卡配置Raid0/Raid1(转)
  19. Hive安装与配置——深入浅出学Hive
  20. linux用到的命令

热门文章

  1. hadoop1.x和2.x的一些主要区别
  2. 数据库模式显示的Swing表格
  3. Struts2常用标签总结
  4. CENTOS7安装DOCKER步骤以及安装阿里镜像加速后无法正常启动服务的问题2018年1月
  5. 开发沉思录 - 记大数据平台的一次 BUG井喷
  6. BZOJ2084:[POI2010]Antisymmetry
  7. 随时查找中位数——pat1057
  8. videojs集成--播放rtmp流
  9. TI c6657开发资源
  10. Java-Runoob:Java 循环结构