शुरू करेंमुफ़्त में शुरू करें

एक वर्ष की टाइम सीरीज़ बनाएँ

इस अभ्यास का लक्ष्य एक वर्ष के लिए दिनों की एक सीरीज़ बनाना है। इस कार्य के लिए आपको निम्न दो time/date फंक्शन का उपयोग करना होगा:

  • GETDATE()
  • DATEADD(datepart, number, date)

GETDATE() से आपको मौजूदा समय मिलता है (उदा. 2019-03-14 20:09:14) और DATEADD(month, 1, GETDATE()) से मौजूदा तारीख में एक महीना जोड़कर समय मिलता है (उदा. 2019-04-14 20:09:14).

एक वर्ष के लिए दिनों की सीरीज़ पाने के लिए आपको 365 recursion स्टेप्स चाहिए। इसलिए, iterations की संख्या बढ़ाने के लिए OPTION (MAXRECURSION n) का उपयोग करें, जहाँ n iterations की संख्या को दर्शाता है।

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL Server में Hierarchical और Recursive Queries

पाठ्यक्रम देखें

अभ्यास निर्देश

  • मौजूदा समय को time के रूप में initialize करें।
  • CTE को recursively सेलेक्ट करें और anchor तथा recursive member को सही स्टेटमेंट से जोड़ें।
  • iterations की संख्या को वर्ष के दिनों माइनस 1 तक सीमित करें।
  • OPTION (MAXRECURSION n) के साथ अधिकतम iterations की संख्या को वर्ष के दिनों के बराबर बढ़ाएँ।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

WITH time_series AS (
	SELECT 
  		-- Get the current time
	    ___ AS time
  	UNION ALL
	SELECT 
	    DATEADD(day, 1, time)
  	-- Call the CTE recursively
	FROM ___
  	-- Limit the time series to 1 year minus 1 (365 days -1)
  	WHERE time < GETDATE() + ___)
    
SELECT time
FROM time_series
-- Increase the number of iterations (365 days)
OPTION(MAXRECURSION ___)
कोड संपादित करें और चलाएँ