Tuesday 15 July 2014

sql server - SQL- How to split two dates into yearly format -


उदाहरण के लिए मेरे पास दो तिथियां हैं:

  @StartDate = '2009/01 / 01 '@EndDate =' 2015/02/05 '  

इस प्रारूप में प्रदर्शित करने का एक तरीका है:

  StartDate EndDate 2009/01 / 01 2010/01/01 2010/01/01 2011/01/01 2011/01/01 2012/01/01 01/01/01/01/01/01/01/01/01/01/01/01/01/01/01 / 01 2015/01/01 2015/01/01 2015/02/05 & lt; --- सबसे महत्वपूर्ण बात समाप्ति तिथि का उपयोग कर समाप्त हो   

क्या यह संभव है? क्योंकि मैंने कई सीटीई कोड स्निपेट देखे हैं लेकिन वे केवल 1 01/01/2015 को विभाजित हैं और अवधि 05/02/2015 को समाप्त नहीं हुए हैं? क्या इसके लिए कोई संभावित मौका अंतिम अवधि - 2015/01/01 - 2015/02/05 के बावजूद इसके एक साल में भी नहीं है?

यहाँ एक तरीका है:

  के रूप में nums के साथ (एनआई संघ के रूप में 0 का चयन करें, सभी का चयन करें 1 + n से num जहां n & lt; 100) चुनें StartDate के रूप में DATEADD (वर्ष, एन, @ स्टार्टडेट), (मामले जब DATEADD (वर्ष, एन + 1, @ स्टार्टडेट) & gt; = @EndDate तब @EndDate अन्य DATEDADD (वर्ष, एन + 1, @ स्टार्टडेट) समाप्ति के रूप में समाप्ति तिथि के रूप में Nums से जहां dateadd (वर्ष, संख्या। एन, @ स्टार्टडेट) & lt; @EndDate   

यदि आपकी अवधि वास्तव में लंबे हैं, तो आपको 100 मानों से परे nums का विस्तार करने की आवश्यकता हो सकती है।

No comments:

Post a Comment