mysql: is null,isnull,ifnull,nullif

首先,isnull,ifnull,nullif都是函数;

1. is null 和 isnull()

var is null的作用和isnull(var)的作用一样,都是判断变量值是否为null

1
2
3
4
5
6
7
SELECT first_name,job_id
FROM employees
WHERE ISNULL(manager_id);

SELECT first_name,job_id
FROM employees
WHERE manager_id IS NULL;

上述两句SQL执行结果是一样的:
在这里插入图片描述

2.ifnull

ifnull(expression1,expression2)
如果expression1的值是null,就返回expression2;如果expression1的值不为null,就返回expression1

1
2
SELECT commission_pct,IFNULL(commission_pct,0.2) AS adjusted_com
FROM employees;

在这里插入图片描述

3.nullif

nullif(expre1,expre2)
如果expre1=expre2,那么就返回null;如果不相同,就返回expre1;
在这里插入图片描述
在这里插入图片描述