首页 > 解决方案 > SQL DATEPART(qq, @date) 日期季度开始十月

问题描述

我有一个打印分组季度数据的查询,该查询使用datepart(qq,repo.lesson_date)SQL 函数。

我的问题是我希望我的第一季度是 10 月到 12 月,而不是像我从上面的 SQL 函数得到的输出那样的 1 月到 3 月。

有没有人可以提供帮助?

标签: sqlsql-servertsql

解决方案


您可以使用附加计算 ( DATEPART(qq, repo.lesson_date) % 4 + 1) 作为可能的选项。

例子:

SELECT 
   DATEPART(qq, lesson_date) AS [Quarter], 
   DATEPART(qq, lesson_date) % 4 + 1 AS [NewQuarter]
FROM (VALUES
   ('20210101'),
   ('20210401'),
   ('20210701'),
   ('20211001')
) repo (lesson_date)

结果:

Quarter NewQuarter
1       2
2       3
3       4
4       1

推荐阅读