Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

2 दिनांक मापदंडों के बीच और सहित तिथियों के साथ एक अस्थायी तालिका को पॉप्युलेट करने का सबसे आसान तरीका

यह तब भी काम करता है, जब @StartDate महीने की पहली तारीख न हो। मुझे लगता है कि अगर यह महीने की शुरुआत नहीं है, तो आप अगले महीने की पहली तारीख से शुरुआत करना चाहते हैं। अन्यथा +1 हटा दें.:

;WITH cte AS (
SELECT CASE WHEN DATEPART(Day,@StartDate) = 1 THEN @StartDate 
            ELSE DATEADD(Month,DATEDIFF(Month,0,@StartDate)+1,0) END AS myDate
UNION ALL
SELECT DATEADD(Month,1,myDate)
FROM cte
WHERE DATEADD(Month,1,myDate) <=  @EndDate
)
SELECT myDate
FROM cte
OPTION (MAXRECURSION 0)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. संग्रहित प्रक्रिया से चुनें?

  2. Inno सेटअप का उपयोग करके MS SQL सर्वर से कैसे कनेक्ट करें?

  3. डेटडिफ का उपयोग करते समय एसक्यूएल डायनेमिक डेटपार्ट

  4. SQL सर्वर:अद्यतन MyTable SET col1 =मान, col2 =col1

  5. SQL सर्वर 2005 में बहुत बड़े परिणाम सेट के माध्यम से पेजिंग का एक कुशल तरीका क्या है?