2012-11-04 14 views
5

मैं एक रिपोर्ट के लिए उपकरणों को भर्ती करने की आय की गणना कर रहा हूं। उसमें, सप्ताहांत दिनों में किराए पर लेने की लागत सामान्य दिनों की तुलना में 10% अधिक होगी। तो मैं दो तिथियों के बीच कितने सप्ताहांत दिनों की गणना कर सकता हूं। और रिपोर्ट पूछताछ में, मैं DECLARE का भी उपयोग नहीं कर सकता। क्या कोई मुझे ऐसा करने में मदद कर सकता है। बहुत बहुतक्या मैं गणना कर सकता हूं कि SQL सर्वर में दो तिथियों के बीच कितने सप्ताहांत दिन हैं?

उत्तर

12

यह काम करना चाहिए धन्यवाद:

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

संबंधित मुद्दे