[英]Break the dates with respect to start_date and end_date in monthly, quarterly and yearly
[英]Distribute amount monthly with respect to start date and end date
我有桌子
Project_ID
Start_Date
End_Date
BUDGET_Amount
例如:
我需要使用SQL返回12行,每行代表兩個日期之間的月份,並且預算值= 1200 /兩個日期之間的月份數“ 12” = 100 $
所以結果就是這樣Proj_ID,START_DATE,END_DATE,AMOUNT
使用通用表表達式(CTE),您可以生成給定范圍內的日期。 這將生成您需要的輸出:
;with mycte as
(
select cast('1 jan 2017' as datetime) as DateValue
union all
select DATEADD(MONTH,1, DateValue)
from mycte
where DATEADD(MONTH,1, DateValue) <= '31 dec 2017'
)
select
1 Proj_ID,
REPLACE(CONVERT(VARCHAR(11), DateValue, 106), ' ', '-') START_DATE ,
REPLACE(CONVERT(VARCHAR(11), DATEADD(DAY, -1, DATEADD(MONTH,1, DateValue))), ' ', '-') END_DATE ,
'100$' AMOUNT
from mycte
這將顯示幾個月的第一天和最后幾天。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.