关于NULL的操作
函数用法介绍
- IFNULL(expr1,expr2)
········如果expr1为NULL,则返回expr2、否则返回expr1 - ISNULL(expr)
········如果expr为NULL,返回1、否则返回2 - NULLIF(expr1,expr2)
········如果expr1 = expr2 返回null、否则返回expr1 - COALESCE(value1,…)
········ 在这个括号中,返回第一个非NULL的值。如果没有非NULL值,则返回NULL值
运行速度的比较
结论: IFNULL() > IS NULL > ISNULL()
第一步,is NULL要比ISNULL()的比较
SELECT * from 表名 where 字段名 is NULL
SELECT * from 表名 where ISNULL(字段名)
由上面可以看出,is NULL要比ISNULL()快一点。
第二步,is NULL和IFNULL()的比较
SELECT * from 表名 where 字段名 is NULL
SELECT * from 表名 where IFNULL(字段名,‘0’) = ‘0’;
由上面可以看出,可看出IFNULL()要比is NULL快一点。