您好我想獲得一個數據庫來返回一些值,具體而言,我需要返回每個發票之間的前一個星期一到星期天。返回數據庫值取決於日期而不是日期
原因是這個查詢會在不同的日子裏運行,例如我需要返回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)
長篇大論,而接近我的想法。
你會發送什麼論據 –