0
我們的賬單日期因客戶而異。由於我需要通過報告期追蹤客戶,因此我想自動調整參數。這些信息將填充報告。根據賬單日定義窗口
的bolow代碼不能正常工作,但足以說明我想什麼來實現:
declare @BillDate int
set @BillDate = 18
if @billdate > DATEPART(dd, getdate())
select DATEPART(yyyy, getdate()) ++ DATEPART(mm,getdate()) ++ @BillDate --last bill date
else
select DATEPART(yyyy, getdate()) ++ DATEPART(mm,getdate())-1 ++ @BillDate --last bill date
我也想過將使用dateadd()
一個月,但我需要改變當日的日部分,我不確定該怎麼做。
有沒有一種普遍接受的方式來做到這一點?我的想法似乎最好是黑客。
編輯/更新:我將使用這個在where子句中進行過濾,所以:
declare @LastBillDate date, @billday as int
select @billday = billdate from btable where customer = 'Cust'
--Define @LastBillDate here based on getdate() and @billday
SELECT *
FROM atable
WHERE starttime > @LastBillDate
樣本數據和預期的結果會更好地說明你想要達到的目標。 –