0
私には開始日のデータがあります。開始日に従ってサイクルが四半期ごとに実行されます。 (開始日は3/15/15、サイクルは3/15/17、6/15/17、9/15/17などとなります)。私はここでは正しく次の四半期サイクルの計算
when datepart(mm,getdate()) <= datepart(mm, STARTDATE) and datepart(dd,getdate()) < datepart(dd, STARTDATE) then cast(dateadd(mm, (datediff(mm, STARTDATE,getdate())%3), dateadd(mm,datediff(mm, STARTDATE,getdate()),STARTDATE))as date)
when datepart(mm,getdate()) <= datepart(mm, STARTDATE) and datepart(dd,getdate()) > datepart(dd, STARTDATE) then cast(dateadd(mm, 3-(datediff(mm, STARTDATE,getdate())%3), dateadd(mm,datediff(mm, STARTDATE,getdate()),STARTDATE))as date)
when datepart(mm,getdate()) >= datepart(mm, STARTDATE) and datepart(dd,getdate()) <= datepart(dd, STARTDATE) then cast(dateadd(mm, 3-(datediff(mm, STARTDATE,getdate())%3), dateadd(mm,datediff(mm, STARTDATE,getdate()),STARTDATE))as date)
when datepart(mm,getdate()) >= datepart(mm, STARTDATE) and datepart(dd,getdate()) >= datepart(dd, STARTDATE) then cast(dateadd(mm, 3+(datediff(mm, STARTDATE,getdate())%3), dateadd(mm,datediff(mm, STARTDATE,getdate()),STARTDATE))as date)
これは、次のサイクルの日付を計算するために取得の問題が生じています私の結果は以下のとおりです。いくつかは、いくつかのではなく、正しいです。どんな助けでも大歓迎です。ありがとう!
ID| Start Date| |Next Date|
1| 3/10/2015| 7/10/2017|
2| 6/3/2009| 9/3/2017|
3| 9/28/2014| 6/28/2017|
4| 9/1/2016| 9/1/2017|
5| 6/1/2015| 6/1/2018|
6| 3/15/2017| 7/15/2017|
7| 3/15/2017| 3/15/2018|
8| 3/24/2015| 6/24/2017|
9| 3/1/2016| 3/1/2018|
10| 9/6/2012| 7/6/2017|
DATEPARTはあなたのために動作するはず四半期引数(qまたはQQ)を持っています。 –