2017-07-12 67 views
1

我想計算兩個日期之間的完成百​​分比(LeaseStart &租約結束)。計算兩個日期之間的百分比

當前%顯示圖像中的Perentage列僅僅是一個演示數據。

對第4行它顯示100%作爲租賃結束日期是在今年4月,我今天跑了這個。

因此,每當我運行這個基於今天的報告系統應計算LeaseStart & LeaseEnd日期並顯示%。

請幫

感謝

screen

+0

親愛的納迪姆,這個問題是不強硬(只是有點冗長)。我的建議是先嚐試自己解決這些簡單的問題。這對你的學習會有很大的幫助。祝你好運。 – ViKiNG

回答

2
DECLARE @table as TABLE(SR INT,LeaseStart DATE,LeaseEnd DATE) 

INSERT INTO @table VALUES 
(1,'2017-01-01','2021-12-31'), 
(2,'2016-10-01','2017-12-31'), 
(3,'2013-07-29','2018-06-30'), 
(4,'2016-09-13','2017-04-07') 


SELECT SR,LeaseStart,LeaseEnd, 
DATEDIFF(DAY,LeaseStart,CASE WHEN GETDATE()<LeaseEnd THEN GETDATE() ELSE LeaseEnd END) DaysSoFar, 
DATEDIFF(DAY,LeaseStart,LeaseEnd) TotalLease, 
CAST((DATEDIFF(DAY,LeaseStart,CASE WHEN GETDATE()<LeaseEnd THEN GETDATE() ELSE LeaseEnd END)*1.00)/ 
(DATEDIFF(DAY,LeaseStart,LeaseEnd)*1.00)*100.00 AS DECIMAL(6,2)) AS Percentage 
FROM @table 

將導致

enter image description here

+0

也試圖解釋,發生了什麼... – ViKiNG

+0

加1爲敘述 –

+0

嗨維京感謝你的幫助很多,它工作正常,乾杯 – Nadeem

1

不知道我同意你的顯示結果,但考慮到以下

Declare @YourTable table (SRNo int,LeaseStart date,LeaseEnd date) 
Insert Into @YourTable values 
(1,'2017-01-01','2021-12-31') 
,(2,'2016-10-01','2017-12-31') 
,(3,'2013-07-29','2018-03-30') 
,(4,'2016-09-13','2017-04-07') 
,(5,'2017-02-01','2019-01-31') 

Select SRNo 
     ,Pct = (DateDiff(DAY,LeaseStart,IIF(GetDate()>=LeaseEnd,LeaseEnd,GetDate()))*100.0)/DateDiff(DAY,LeaseStart,LeaseEnd) 
From @YourTable 

返回

SRNo Pct 
1  10.520547945205 
2  62.280701754385 
3  84.692082111436 
4  100.000000000000 
5  22.085048010973 
+0

啊好。我必須刷新頁面,然後發佈我的答案:) – ViKiNG

+0

@Viking您展示的零件...做出好的敘述 –

+0

謝謝。雖然upvoted你的答案。 – ViKiNG

相關問題