Bir rapor için işe alım ekipmanlarının gelirini hesaplıyorum. Bununla birlikte, normal günlerle kıyaslandığında hafta sonu günlerinde işe alım maliyeti artı% 10 daha fazla olacaktır. Peki, iki tarih arasında kaç hafta sonu olduğunu nasıl hesaplayabilirim. Ve rapor sorgusunda da DECLARE kullanamıyorum. Birisi bunu yapmama yardım edebilir. Bu çalışması gerekirSQL Server'da iki tarih arasında kaç hafta sonu olduğunu hesaplayabilir miyim?
5
A
cevap
12
çok teşekkür ederim:
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)