使用SQL / HQL的常规订单

时间:2014-04-27 11:10:53

标签: sql hql repeat

几年前,我实施了一个自己的计划来管理我的收入和支出。但是,我意识到我需要某种“常规订单” - 每月,每季度或每年重复的收入或支出。我会将它们添加到自己的表中(包括值,描述,开始和结束日期,重复率,......)。但是如何以智能方式使用SQL / HQL查询它们呢?例如:我想要一个月的所有收入。现在我必须浏览所有条目并检查开始日期加上重复率的倍数是否“命中”当前月份。在我看来非常麻烦。有没有简单的方法来实现这样的操作?

1 个答案:

答案 0 :(得分:0)

很抱歉回答我自己的问题,但与此同时我认为这并不困难。即使使用HQL,也可以计算两个日期之间的月数(如果没有现有函数,仍然可以使用明显的公式在HQL表达式中完成)。当然,一个人必须正确处理案件,而这些日子存在于一个月但不存在于另一个月(例如,二月),但这是一个在我的案例中可能会被忽略的细节。

知道当月之间的月数,一个简单的模数表达式可以检查当前月份是否被常规订单“击中”。其余的很简单。