के बीच के महीनों में अवधि की गणना करें मेरे पास SQL सर्वर में एक सारणी है जिसमें विभिन्न नौकरियों के लिए काम करने वाले उपयोगकर्ता की अवधि शामिल है। मुझे उपयोगकर्ता के लिए अनुभव की कुल संख्या की गणना करने की आवश्यकता है।टी-एसक्यूएल
Declare @temp table(Id int, FromDate DATETIME, ToDate DATETIME)
INSERT INTO @temp (Id ,FromDate ,ToDate)
VALUES (1 , '2003-1-08 06:55:56' , '2005-5-08 06:55:56'),
(2 , '2000-10-08 06:55:56' , '2008-7-08 06:55:56'),
(3 , '2013-6-08 06:55:56' , '2015-1-08 06:55:56'),
(4 , '2006-4-08 06:55:56' , '2011-3-08 06:55:56')
SELECT * FROM @temp
मैं अनुभव की कुल संख्या की गणना करना चाहता हूं;
Id FromDate ToDate Difference IN Months
===================================================
1 2003-01-08 2005-05-08 28
2 2000-10-08 2008-07-08 93
3 2013-06-08 2015-01-08 19
4 2006-04-08 2011-03-08 59
2000-2008 में 2003-2005 की तरह ओवरलैपिंग के वर्षों को हटाने के बाद; मैं कुछ इस तरह है:
Id FromDate ToDate Difference IN Months
===================================================
1 2000-10-08 2011-03-08 125
2 2013-06-08 2015-01-08 19
तो जवाब 125+19 = 144
महीने होगा। कृपया मुझे समाधान खोजने में मदद करें।
दिन का हिस्सा हमेशा 8 होता है? और इसलिए आपके पास कभी भी कोई आंशिक महीनों नहीं हैं जिन पर विचार करने की आवश्यकता है? –
क्या आपने DATEDIFF फ़ंक्शन का प्रयास किया है? https://msdn.microsoft.com/en-us/library/ms189794.aspx – Vinnie
SQL सर्वर का संस्करण क्या है? –