获取最近的星期五的日期SQL
发布时间:2020-12-12 16:40:00 所属栏目:MsSql教程 来源:网络整理
导读:我试图在SQL Server 2008中获得最新的星期五. 我有这个.它将在星期一开始(星期一),然后减去3天到达星期五. declare @recentFriday datetime = DATEADD(ww,DATEDIFF(dd,GETDATE()),0)-3 当这个星期运行时,它得到上周五的日期是正确的.但是当星期五(或星期六)运
我试图在SQL Server 2008中获得最新的星期五.
我有这个.它将在星期一开始(星期一),然后减去3天到达星期五. declare @recentFriday datetime = DATEADD(ww,DATEDIFF(dd,GETDATE()),0)-3 当这个星期运行时,它得到上周五的日期是正确的.但是当星期五(或星期六)运行时,它仍然是上周的日期,而不是当周的星期五.我要使用if / else条件,但我确定有一个更简单的方法. 解决方法这适用于DATEFIRST的任何输入和任何设置:dateadd(d,-((datepart(weekday,getdate()) + 1 + @@DATEFIRST) % 7),getdate()) 它可以通过调整工作日值来实现,以便0 =星期五,模拟星期五作为一周的开始.然后减去平均值,如果非零,以获得最近的星期五. 编辑:更新为DATEFIRST的任何设置工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |