mysql-5null值處理
阿新 • • 發佈:2018-11-09
值為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;
示例二:
-- 列印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;
select * from csj_class where id is null;
-- 使用<=>和is null 結果相同
select * from csj_class where id <=> null;
select * from csj_class where id is not null;