您好我想获得一个数据库来返回一些值,具体而言,我需要返回每个发票之间的前一个星期一到星期天。返回数据库值取决于日期而不是日期
原因是这个查询会在不同的日子里运行,例如我需要返回8月5日星期一到8月11日星期的结果,以便在下一周(12到18日)的某个时间点。
我原本这个设置为一个简单的WHERE:
[WHERE TaxDate> =(GETDATE() - 7)]
,因为发票是做每周一所以它的工作本身,但是现在可以在下一周的任何一天完成。有什么功能可以用来做这件事吗?
感谢
您好我想获得一个数据库来返回一些值,具体而言,我需要返回每个发票之间的前一个星期一到星期天。返回数据库值取决于日期而不是日期
原因是这个查询会在不同的日子里运行,例如我需要返回8月5日星期一到8月11日星期的结果,以便在下一周(12到18日)的某个时间点。
我原本这个设置为一个简单的WHERE:
[WHERE TaxDate> =(GETDATE() - 7)]
,因为发票是做每周一所以它的工作本身,但是现在可以在下一周的任何一天完成。有什么功能可以用来做这件事吗?
感谢
看与上周参数的一天datepart功能:
WHERE Datepart(dw, TaxDate) = 2
declare @currentdow int
declare @delta int
declare @startdate datetime
declare @endtime datetime
set @delta = 0
set @startofweek = DatePart(dw, getDate())
while @scurrentdow <> 2
begin
set @delta = @delta + 1
set @currentdow = @currentdow - 1
if @currentdow < 1
begin
set @currentdow = 7
end
end
set @startdate = DateSubtract(day,GetDate(), delta)
set @enddate = DateAdd(day, @startdate, 6)
长篇大论,而接近我的想法。
你会发送什么论据 –