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

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

【问题讨论】:

    标签: sql-server date


    【解决方案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 设置值如何,查询都会带来结果集
    猜你喜欢
    • 2014-03-08
    • 2023-01-28
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多