2012-11-04 37 views
5

Tôi tính toán thu nhập của việc thuê thiết bị cho một báo cáo. Trong đó, chi phí thuê vào những ngày cuối tuần sẽ cộng thêm 10% nếu so sánh với ngày bình thường. Vì vậy, làm thế nào tôi có thể tính toán có bao nhiêu ngày cuối tuần giữa hai ngày. Và trong truy vấn báo cáo, tôi cũng không thể sử dụng DECLARE. Ai đó có thể giúp tôi làm điều này. Cảm ơn bạn rất nhiềuTôi có thể tính toán có bao nhiêu ngày cuối tuần giữa hai ngày trong SQL Server?

Trả lời

12

này nên làm việc:

DECLARE @StartDate DATETIME 
DECLARE @EndDate DATETIME 
SET @StartDate = '2012/11/01' 
SET @EndDate = '2012/11/05' 


SELECT 
    (DATEDIFF(wk, @StartDate, @EndDate) * 2) 
    +(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) 
    +(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END) 

http://sqlfiddle.com/#!3/d41d8/5707/0

Các vấn đề liên quan