mysql-5null值处理

值为null遇到的问题:
1.使用select对数据进行处理时,如果有格值为null,该命令会无法正常工作。如示例一
2.使用where限定条件时,null值不能处理。如示例二

-- 新建一张表,并填入数据
create table `csj_class`(`id` INT,`name` varchar(20),`classmates` INT);
INSERT into csj_class (id,name) values
(1,'one',20),
(2,'two',15);
INSERT into csj_class (id,name) values (3,'three');
INSERT into csj_class (name,classmates) values ('three',10);

示例一:

-- 将id+classmates的和打印出来,id和classmates有一个为null,结果也为null
select id+classmates from csj_class;
示例二: ```#sql -- 打印id为null的行,没有打印成功 select * from csj_class where id=null;; ```

为了处理这种情况,mysql提供了三大运算符:

  • is null:当列的值是null,此运算符返回true。
  • is not null:当列的值不为null,运算符返回true。
  • <=>:比较运算符。当比较的两个值为null时,返回true。
select ifnull(id,0)+IFNULL(classmates,0) as sum from csj_class;
```#sql select * from csj_class where id is null; -- 使用<=>和is null 结果相同 select * from csj_class where id <=> null; ``` ```#sql select * from csj_class where id is not null; ```
posted on 2018-11-09 10:31  singleSpace  阅读(469)  评论(0编辑  收藏  举报