【发布时间】:2021-06-27 00:42:35
【问题描述】:
创建 CTE 以计算从今天到当月月底的剩余天数。所以我今天(2021 年 3 月 30 日)的报告不包括明天的 2021 年 3 月 31 日。
declare @DespatchTo Date = '03-30-2021'
WITH mycte AS
(
SELECT CAST(Convert(date,getdate()) AS DATETIME) DateValue
UNION ALL
SELECT DateValue + 1
FROM mycte
WHERE DateValue < DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @DespatchTo) + 1, 0)) --03-31-2021
)
SELECT SUN.Count as SunCount, SAT.Count as SatCount, WK.Count as WeekCount
FROM
(SELECT count(*) as Count
FROM mycte
WHERE DatePart("w",DateValue) = 1
group by DatePart("w",DateValue))
As SUN,
(SELECT count(*) as Count
FROM mycte
WHERE DatePart("w",DateValue) = 7
group by DatePart("w",DateValue))
As SAT,
(SELECT distinct SUM(COUNT(*)) OVER() AS Count
FROM mycte
WHERE DatePart("w",DateValue) > 1 AND DatePart("w",DateValue) < 7
group by DatePart("w",DateValue))
As WK
返回空白/空结果。我怎样才能返回为 0?
【问题讨论】:
-
@GordonLinoff SQL Server,不过我在 ssrs 中运行查询
标签: sql sql-server tsql reporting-services