mysql 判断字段为null表示 false 其它为true_产品操作MySQL第7篇 – 运算符 – IS NULL...

879629d5d86c71ab6a97b27547c11dea.png

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

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

57b0faa8565301f432308d09e4ca4572.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;

071130d2c0aafc9d35d17d1a52a78ba2.png

数据表演示IS NULL

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

SQL

SELECT
*
FROM
students
WHERE
nationality IS NULL;

dc86f2ffb09b094b534f988d451794ff.png

那IS NOT NULL呢?

SQL

SELECT
COUNT(*)
FROM
students
WHERE
nationality IS NOT NULL;

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

4c73816ff3966a3f745574561275b5b2.png

IS NULL能过滤字符串空么?

8e09ec5766e910500aee000ff265dbed.png

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

FALSE字符串

0

空字符串

以及NULL

我们再来使用IS NULL过滤

SQL

SELECT
*
FROM
students
WHERE
address IS NULL;

86e5bf67223da8db89fc4f7aa5d1085d.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、付费专栏及课程。

余额充值