检查CASE语句中的空值

时间:2013-01-22 15:12:55

标签: mysql sql database case

我正在尝试使用case语句检查空值,但它没有正确执行检查,下面是我尝试这样做的不同方法。

CASE id WHEN NULL THEN 'id is null' END;
CASE id WHEN (id is NULL) THEN 'id is null' END;
CASE id WHEN isnull(id) THEN 'id is null' END;

似乎没有按照我想要的方式工作。第一个根本不起作用,后两个正确地标识id具有空字符串值的行,但是没有看到id为null的行。

1 个答案:

答案 0 :(得分:1)

您将要使用:

CASE 
   WHEN id is NULL or id = ''  -- if the value is an empty string check for that
   THEN 'id is null' 
   ELSE 'id is not null' 
END

另一种方法是使用inline IF语句(,如果您对CASE以外的其他感兴趣

SELECT IF(ID IS NULL, 'id is null' , 'id is NOT null')