好多大型企业财务核算都不是按自然月末而是按自定义月末进行的,自定义月末一般在每月的23-28号之间。使用自定义月末的历史原因是原有的手工帐方式,为了在月初出具报表,需要留下充足的核算时间。随着信息化的推进,账目通过信息化手段结算越来越快。但是自定义月末作为历史惯性也完美的保留了下来。
自定义月末虽然给财务人员提供了充足的工作时间,但是却给开发人员带来了麻烦。
针对自定义月末,单月统计还比较容易,根据自定义月末值,直接组装月初月末即可。
但是针对整年按月分组或者多月按月分组统计就需要花点心思了。最笨的方法当然是把每月的月末月初都作为一个变量事先组合,按月统计出数据union合并。
有没有简洁的方法呢?当然,充分利用sql的各种函数还是能一步到位的。具体的sql如下:假设自定义月末是25号
SELECT CONVERT(VARCHAR(6),DATEADD(MM,DAY(生产日期)/25,生产日期),112) AS as 年月,
SUM(SL) AS 产量
FROM table
GROUP BY CONVERT(VARCHAR(6),DATEADD(MM,DAY(生产日期)/25,生产日期),112);
一条语句解决问题,按自定义会计月末统计的按月分组数据。where条件自己根据需要添加啦。
你掌握了吗?掌握的点个再看。
tip:请汪姓同学看到了留言哈。
文章转载自数据库精要,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




