length(函数)
1、按照字符串进行分组统计;
select length(id_card),count(1) from 表名称 group by length(id_card)
结果:
2、对id_card字段长度既不等于18又不等于15的数据进行统计
select count(1) from 表名 where length(id_card)<>18 and length(id_card)<>15
你会发现,只将length=17统计了出来,长度不存在的数据根本就没有统计出来
3、统计长度为0的数据,统计结果也为0
select count(1) from 表名 where length(id_card)=0
因为id_card字段为空的行记录,调用length()后,返回的结果也是null。
所以只能用is null来实现。
select count(1) from 表名 where length(id_card) is null
附带:
对id_card字段长度既不等于18又不等于15的数据进行统计
select sum(aaa)
from (select count(1) aaa from virtual_card
where length(id_card)<>18
and length(id_card)<>15
union all
select count(1) aaa
from virtual_card
where length(id_card) is null)