-1

我正在尝试使用 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 为空的行。

4

1 回答 1

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')
于 2013-01-22T15:13:57.293 回答