现在的位置: 首页 > 综合 > 正文

关于Mysql的SUM()值会返回NULL而非空结果集的解决方案

2013年01月29日 ⁄ 综合 ⁄ 共 390字 ⁄ 字号 评论关闭
    准备条件,创建一张FOO表,如下:
CREATE TABLE FOO(

  NAME VARCHAR(100),
  AGE VARCHAR(10),
  SEX VARCHAR(10)
);
INSERT INTO FOO VALUES('CZW','10','MALE');
INSERT INTO FOO VALUES('CZZ','20','FEMALE');
COMMIT;
SELECT * FROM FOO;

我们的查询:

SELECT 
    SUM(FOO.AGE)
FROM
    FOO
WHERE
    1 = 2

    发现,这个SQL语句得到的是一个NULL,这样如果使用JDBC或者是第三方的框架,就可能会导致空指针异常.但是,这个SQL语句加上GROUP BY NULL的时候,就返回一个空的结果集,从而规避了空指针异常.
SELECT 
    SUM(FOO.AGE)
FROM
    FOO
WHERE
    1 = 2
GROUP BY NULL

抱歉!评论已关闭.