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
サンプルデータと望ましい結果をだろうあなたが達成したいことをよりよく説明します。 –