mysql boolean_产品操作MySQL第7篇 – 运算符 – IS NULL

19a95b67d8b00bd137593c0642c94775.png

MYSQL

本资料为产品岗位作为日常工作参考,语言口语化

At 2019/4/27 By David.Yang

介绍什么是IS NULL

IS NULL作为一种运算符,用来对数据表中的NULL值数据进行过滤。

语法

target IS NULL

target值为NULL,则表达式返回TRUE,否则返回FALSE。

MYSQL中没有BOOLEAN类型,

使用TINYINT(1)表示BOOLEAN,

1 = TRUE, 0 = FALSE。

IS NULL和大于、小于等一样都是比较运算符,可以在SELECT WHERE等出使用它。

示例:

SELECT 1 IS NULL, # 0

0 IS NULL, # 0

NULL IS NULL; # 1

60f4944117e2654c2765da767d936613.png

IS NOT NULL

表示对值进行非NULL的确定

target IS NOT NULL

target不值为NULL,则表达式返回TRUE,否则返回FALSE。

SELECT 1 IS NOT NULL, #-- 1

0 IS NOT NULL, #-- 1

NULL IS NOT NULL; #-- 0;

c4d539ac36e1904a80f7fb53cda55f18.png

数据表演示IS NULL

过滤出学生表当中,国籍为NULL学生

SQL

SELECT

*

FROM

students

WHERE

nationality IS NULL;

b77c50f52cb536b21e0ef716caddef25.png

那IS NOT NULL呢?

SQL

SELECT

COUNT(*)

FROM

students

WHERE

nationality IS NOT NULL;

通过COUNT()统计有27个学生都有国籍

a5bf2b66f15db10db27cda8e6ba16015.png

IS NULL能过滤字符串空么?

183c7acf4b0f5f26b897545e87c54e91.png

我们构造了几条测试数据,他们的地址字段有几种类型:

FALSE字符串

0

空字符串

以及NULL

我们再来使用IS NULL过滤

SQL

SELECT

*

FROM

students

WHERE

address IS NULL;

1ac00b9ccf2e92e81264f135147cff77.png

结果只能查询出NULL的记录,

所以需要注意,IS NULL不能对其他的空类型进行过滤。

补充

IS NULL可以和其他条件通过OR拼接

SELECT

*

FROM

students

WHERE

nationality = '南宋'

OR

nationality IS NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值