COALESCE是sql标准里面的一个关键字,我们可以和聚合函数sum,count,max等一起使用完成一些特殊的功能。
以下sql语句基于mysql
1、查询某一个列总和,如果没有数据或者NULL返回0
表字段中有一个字段:公里数(f_gls),统计总的公里数
COALESCE (sum(f_gls), 0) distance
2、查出最大值
表字段中有一个字段:模块id(f_moudleId),查询最大值
COALESCE(MAX(f_moudleId),0) max_moudleId
3、综合使用:格式化
根据知识库表里面的记录,生成下一条知识库id
SELECT CONCAT('KB',DATE_FORMAT(NOW(),'%Y%m%d'),LPAD(COALESCE(COUNT(id),0)+1, 3, '0')) <!--格式 KB20190610001--> FROM user_knowledgebase WHERE DATEDIFF(DATE(now()), DATE(createtime))= 0