我最近编写了一个查询(帮助堆栈溢出)来从数据库生成年度数据。 使用的逻辑是:今年的任何一天都会给出去年的所有结果。
where year (table.datecolumn) = year(GETDATE())-1
现在,我被要求用季度数据做类似的事情,因为我在编写这类查询方面经验不足,所以我很难过。
我想要一些我可以安排 ssrs报告的内容 - 这样可以在不使用实际日期的情况下为每个季度提供所有数据。以便我可以安排此操作1月1日,4月1日,7月1日,10月1日。
谢谢。
答案 0 :(得分:1)
以下是获取上一季度所有数据的查询
SELECT *
FROM myTable
WHERE MyDate >= DATEADD(qq, DATEDIFF(qq, 0, GETDATE()) - 1, 0)
AND MyDate < DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)
通过这种方式,您可以在下一季度开始后的任何时间运行它,在结束之前它仍然会产生相同的结果而无需指定日期。