首页 > 解决方案 > 如何获取从星期六开始到星期五结束的星期 sql 查询

问题描述

我有一个 SQL 查询,其中条件是星期从星期六开始并以星期五结束 SQL 查询以及该周的最后存款日期应该在第一列中使用 AS [Weekending] 作为每周的预览我尝试了以下

SELECT DISTINCT
    DATEADD(DD, 7 - CHOOSE(DATEPART(dw, PostDate), 2, 3, 4, 5, 6, 7, 1), PostDate) AS WeekEndDate
FROM 
    [MasterReport]
WHERE
    PostDate BETWEEN '12/30/2017' AND '07/1/2018'

我目前得到的输出:

输出

但所需的输出应该是这样的:

最终输出

任何人都可以帮忙吗?

标签: sqlsql-server

解决方案


您需要对结果进行排序。试试下面的查询。

SELECT distinct
DATEADD(DD,7-CHOOSE(DATEPART(dw, PostDate), 2,3,4,5,6,7,1),PostDate) AS WeekEndDate
from [TransactionMasterReport]
where PostDate between '12/30/2017' and '07/1/2018'
order by WeekEndDate

推荐阅读