SSRS仅查询当前季度的数据?

时间:2013-12-19 01:46:38

标签: sql tsql reporting-services

我正在尝试创建一个仅显示当前季度数据的T-SQL查询。

我的数据表如下所示。

NAME,DATE

Alice,1-1-2013

Bob,12-1-2013

查尔斯,2013年12月15日

在我运行报告的任何时候,我都希望能够只看到我当前所在季度的数据。所以,如果今天是12-18-14,那么当我运行报告时,我'我希望只看到日期为10-1-14到12-31-14的条目,所以

Bob,12-1-2013

查尔斯,2013年12月15日

我欢迎任何提示。我已经进行了彻底的搜索,但我没有足够的经验来使用CASE语句拼凑部分答案。

感谢。 MC

3 个答案:

答案 0 :(得分:0)

如果我理解你正在尝试做什么,我认为你不需要CASE声明:

SELECT *
FROM YourTable
WHERE Date >= DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0)
    AND Date < DATEADD(dd,1,DATEADD(qq,DATEDIFF(qq,-1,GETDATE()),-1))

sqlfiddle

答案 1 :(得分:0)

试试这个

SELECT *
FROM Table
WHERE Year(Date) = Year(GETDATE())
  AND DATENAME(qq,Date) = DATENAME(qq,GETDATE())

答案 2 :(得分:0)

获得理想结果的另一种简单方法。

SELECT *
FROM TableName
WHERE DATEPART(QUARTER,DateColumnName) = DATEPART(QUARTER,GETDATE())
AND YEAR(DateColumnName) = YEAR(GETDATE())