ISNULL(expr) 的用法:
如果expr 为null,那么ISNULL( )的返回值为1,否则返回值为0
SELECT ISNULL(1+1); -- >> 0
SELECT ISNULL(1/0); -->> 1
IFNULL(expr1,expr2)的用法:
如果expr1 不为 NULL,则 IFNULL( ) 的返回值为 expr1;否则其返回值为 expr2
IFNULL( )的返回值是数字或是字符串,具体情况取决于其所使用的语境。
SELECT IFNULL(min(id),0) FROM TABLE
如果min(id)存在,则返回min(id),否则返回0 ;
NULLIF(expr1,expr2) 的用法:
如果expr1= expr2 成立,那么返回值为NULL,否则返回值为 expr1这和CASE WHEN expr1 = expr2THEN NULL ELSE expr1 END相同
SELECT NULLIF(1,1); -->> NULL
SELECT NULLIF(1,0); -->> 1
其实上述的三个函数用case when then语句都能解决!