获取上周五的日期,除非今天是星期五使用T-SQL
发布时间:2021-03-06 10:35:23 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试获取正确的SQL代码以获取上周五的日期.几天前,我以为我的代码是正确的.但只是注意到它已经到了上周的星期五,而不是上周五.我写这个问题的那天是星期六,8/11/2012 @ 12:23 am.在SQL Server中,此代码将于2012年8月3日星期五返回.但是,我希望这会在周
我正在尝试获取正确的SQL代码以获取上周五的日期.几天前,我以为我的代码是正确的.但只是注意到它已经到了上周的星期五,而不是上周五.我写这个问题的那天是星期六,8/11/2012 @ 12:23 am.在SQL Server中,此代码将于2012年8月3日星期五返回.但是,我希望这会在周五,8/10/2012返回.我该如何修复此代码?由于我们在这里详细说明,如果当天是星期五,那么我想回到今天的日期.所以,如果它是昨天(2012年8月8日)并且我昨天运行了这段代码,那么我希望这段代码返回8/10/2012,而不是8/3/2012. SELECT DATEADD(DAY,-3,DATEADD(WEEK,DATEDIFF(WEEK,GETDATE()),0)) 解决方法尝试这个:declare @date datetime; set @date='2012-08-09' SELECT case when datepart(weekday,@date) >5 then DATEADD(DAY,+4,@date),0)) else DATEADD(DAY,0)) end 结果: 2012-08-03 例2: declare @date datetime; set @date='2012-08-10' SELECT case when datepart(weekday,0)) end 结果: 2012-08-10 (编辑:航空爱好网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |