晚上回来一同学在群里咨询查询一张表中所有字段的非空个数,当时给他提供这样的查询语句 select count(x1), count(x2) from test; 发给他,结果说是每个字段的count值都是整数,觉得很奇怪,就跑过去看了下, 先是新插入一列空值,再使用以上sql查询,发现只有这一列的结果为0,排查下问题发现原来是原表的”空“是指空串(''),试了一会,使用下面的语句可以解决这个问题: select count(x1), count(x2) from (select nullif(x1 != '',0) as x1, nullif(x2 !='',0) as x2 from test) as a; 搞定,呵呵! |
转载于:https://my.oschina.net/landry17h/blog/15581