MYSQL之ifnull(),nullif(),isnull()的用法
1.ifnull()
ifnull(exper1,exper2)判断exper1是否为空,如果exper1不为空则返回exper1,反之如果exper1为空则返回exper2。
例子:
select ifnull(null,'test1') from test;
结果为:'test1'
select ifnull('test2',null) from test;
结果为:'test2'
2.nullif()
nullif(exper1,exper2)如果exper1 = exper2成立,返回值为NULL,否则返回值为exper1。
例子:
select nullif(1,1) from test;
结果为:1
select nullif(2,1) from test;
结果为:2
nullif()函数也可以通过CASE的方式进行表示,如下例子:
CASE WHEN exper1 = exper2
THEN NULL
ELSE
exper1
END;
注意:ifnull()函数和nullif()函数不要进行混淆。
3.isnull()
isnull(exper) 判断exper是否为空,是则返回1,否则返回0。
例子:
select isnull('test') from test;
结果为:0
select isnull(null) from test;
结果为:1