查找前一周的最后一天

Posted

技术标签:

【中文标题】查找前一周的最后一天【英文标题】:Find last day of previous week 【发布时间】:2021-01-11 18:27:39 【问题描述】:

我试图弄清楚如何在 SQL Server 中计算前一周的最后一天。我正在运行的报告可能会在周一至周五的任何一天运行,因此查找该日期不能取决于一周中的任何特定日子。前一周的最后一天是星期五(星期六不做生意),但如果为了简单起见,星期六算作一周的最后一天(不确定这是否是 SQL Server 中的标准),那也没关系。

【问题讨论】:

【参考方案1】:

您可以将 GETDATE() 替换为查询中的实际日期字段

SELECT DATEADD(day,-1 - (DATEPART(weekday, GETDATE()) + @@DATEFIRST - 1) % 7,GETDATE()) -1 AS 'LastSaturday'

【讨论】:

问题:@@DATEFIRST 来自哪里?我在 SQL Server 中创建的视图中没有使用任何变量。 它是 sql server 中的一个设置。链接docs.microsoft.com/en-us/sql/t-sql/functions/…中的详细信息。无论实际的 DATEFIRST 设置值如何,查询都会带来结果集

以上是关于查找前一周的最后一天的主要内容,如果未能解决你的问题,请参考以下文章

java 获取某一月的所有周的日期段(周一到周日)

如何在Oracle中生成一周的第一天,一周的最后一天和两个日期之间的周数

在objective-c中获取一周的第一天和最后一天

从 Aginity 工作台中的周数和年份获取一周的最后一天

asp.net后台获得本月第一天和最后一天

C#如何获取指定周的日期范围