我正在尝试使用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的行。
答案 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')