Mysql中IFNULL , ISNULL, NULLIF这三个函数的相爱相杀

2023-11-14

IFNULL(expr1,expr2)用法

假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

以实际例子查看:

 SELECT  IFNULL(1,0);                    
 SELECT  IFNULL(NULL,10);                            
 SELECT  IFNULL(1/0,10);    
 SELECT  IFNULL(1/0,'yes');  
 SELECT  IFNULL('','yes'); 

执行结果分别是

 

 

 

 

 

 

二、ISNULL(expr) 的用法

    如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。

select isnull(1+1) ; -- 0
select isnull(1/0); -- 1

三、NULLIF(expr1,expr2)用法

    如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为expr1。

   这和CASE  WHEN expr1 = expr2 THEN NULL ELSE   expr1 END相同。   

SELECT NULLIF(1,1); -- NULL
SELECT NULLIF(1,2); -- 1​​​​​​
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql中IFNULL , ISNULL, NULLIF这三个函数的相爱相杀 的相关文章

随机推荐