在Java中,如果判断一个字符串是否为空,可以使用 apache StringUtils类中的public static boolean isBlank(String str) 判断,简单明了。但是,在MySQL中却没有这样的工具,这里提供一个判断某字段的值是否为空的方法。首先介绍两个函数:
- isnull(exper) 判断exper是否为空,是则返回1;否则,返回0
- length(exper) 返回字符串exper所占的字节数(受编码影响)。如果为空,返回0
下面提供给两个示例:
SELECT ISNULL(null); -- 1
SELECT LENGTH(trim(' ')); -- 0
结合这两个函数,我们就可以轻而易举的判断一个字段的值是否为空:
-- 判断是否为空的方法
SELECT
CASE WHEN (ISNULL(exper)=1) || (LENGTH(trim(exper))=0) THEN '为空'
ELSE '非空'
END as result