文章目录
- 一、 MYSQL 中使用case when then 判断is null的方法
- 二、 MYSQL 中使用case when then 判断 null的方法
一、 MYSQL 中使用case when then 判断is null的方法
eg:统计用户表实名认证(即姓名和证件号不为空)的用户数量及总用户数量
错误使用:
SELECT ifnull(sum( CASE WHEN user_name IS NOT NULL and user_card IS NOT null THEN 1 ELSE 0 END ) ,0) rzNum,
count(distinct user_id ) totalNum
FROM user_info
正确使用:
SELECT ifnull(sum( CASE WHEN NULLIF(user_name ,'') IS NOT NULL and NULLIF(user_card ,'')IS NOT null THEN 1 ELSE 0 END ) ,0) rzNum,
count(distinct user_id ) totalNum
FROM user_info
二、 MYSQL 中使用case when then 判断 null的方法
错误方法:
CASE columnName WHEN null THEN 0 ELSE columnName END
正确方法:
CASE WHEN columnName is null THEN 0 ELSE columnName END