需求:统计所有有效合同和邻近到期合同的数量(小于90天为临近到期)
1.使用DATEDIFF函数
2.本来我是想单纯的以区间或者只查数量,计算操作在service层实现 但是查了百度之后发现有函数可使用,所以就记录一下自己的使用场景和方法。
3.同样先解析一下DATEDIFFF(结束时间,开始时间) 实则相当于第一个参数减去第二个参数,
<在xml中需转换为<(不止这一种写法),我这句是查询小于结束时间90天的所有数据数量。
>在xml中转为>这句是查结束时间不为0,则处于合作中的数据数量。
SUM(if(DATEDIFF(expire_date,sign_date)<90,1,0)) AS efficientNum, SUM(if(DATEDIFF(expire_date,sign_date)>0,1,0)) AS termNum 因为要实现一条sql查询出这两种数据就只能使用if条件了,大家有好的其他方法欢迎评论。