具有特定范围的分组日期范围

2021-09-10 00:00:00 sql tsql sql-server

我知道日期范围内有很多分组.我在互联网上看过.但我看到的是硬连线范围.说,

I know there's lots of grouping in date range. I've looked in the internet. But the one's I saw was hard wired range. Say,

CASE
   WHEN [Date] BETWEEN '2014-1-1' AND '2014-3-30' THEN 1
   WHEN [Date] BETWEEN '2014-4-1' AND '2014-6-30' THEN 2
   -- And so on
END

那只涵盖2014年,对吗?但是,如果我还需要为接下来的 4 年左右的时间提供保险呢?我真的需要手动把它放在查询中吗?或者有没有办法让它覆盖未来几年?

That only covers the Year 2014, right? But what if I need to also cover for the next 4 years or so. Do I really need to manually put it in the query? Or is there a way for it to cover for the next coming years?

具体来说,我需要按范围对记录进行分组.AugJan(第 1 组)和 2 月7 月(第 2 组)

In specific, I need to group the records by range. Aug to Jan (group 1) and Feb to July (group 2)

任何帮助将不胜感激.谢谢!

Any help would be greatly appreciated. Thanks!

推荐答案

使用 MONTH()

CASE
  WHEN month([Date]) BETWEEN 2 AND 7 THEN 2
  ELSE 1
END

相关文章