• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

SQLite IS NULL

IS NULL 运算符

NULL 比较特殊,表示某条信息未知或者不适用。 例如,有些歌曲可能没有词曲作者信息,因为我们不知道是谁写的。 要将这些未知的词曲作者与歌曲一起存储在数据库表中,我们必须使用 NULL。NULL 不等于任何东西,甚至不等于数字零、空字符串等等。 NULL 不等于其自身。以下表达式返回 0:

NULL = NULL
这是因为两个未知的信息无法比较。

image

以下语句尝试查找作曲家为 NULL 的曲目:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer = NULL;

它返回一个空行而不发出任何其他消息。

这是因为以下表达式的计算结果始终为假:

Composer = NULL

以这种方式使用 NULL 是无效的。
要检查某个值是否为 NULL,可以使用 IS NULL 运算符:

{ column | expression } IS NULL;

如果列或表达式计算结果为 NULL,则 IS NULL 运算符返回 1。

要查找所有作曲家未知的曲目,可以使用 IS NULL 运算符,如以下查询所示:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NULL
ORDER BY 
    Name;   

SQLite IS NOT NULL 运算符

NOT 运算符是 IS NULL的取反。

expression | column IS NOT NULL

如果表达式或列不为 NULL,则 IS NOT NULL 运算符返回 1;如果表达式或列为 NULL,则返回 0。

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NOT NULL
ORDER BY 
    Name;       

下图显示了部分输出:

image

在本教程中,您学习了如何使用 IS NULL 和IS NOT NULL运算符检查列或表达式中的值是否为 NULL。

posted @ 2024-07-22 11:17  编织快乐  阅读(19)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3