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

एमएस एसक्यूएल सर्वर 2008:सप्ताह की आरंभ तिथि और समाप्ति तिथि अगले 8 सप्ताह तक प्राप्त करना

इसे आजमाएं:

DECLARE @startDate DATETIME
DECLARE @currentDate DATETIME
DECLARE @numberOfWeeks INT

DECLARE @dates TABLE(
    StartDate DateTime,
    EndDate DateTime 
)

SET @startDate = GETDATE()--'2012-01-01' -- Put whatever you want here
SET @numberOfWeeks = 8 -- Choose number of weeks here
SET @currentDate = @startDate

while @currentDate < dateadd(week, @numberOfWeeks, @startDate)
begin
    INSERT INTO @Dates(StartDate, EndDate) VALUES (@currentDate, dateadd(day, 6, @currentDate))
    set @currentDate = dateadd(day, 7, @currentDate);
end

SELECT * FROM @dates

यह आपको कुछ इस तरह देगा:

StartDate           EndDate 
21/03/2013 11:22:46 27/03/2013 11:22:46 
28/03/2013 11:22:46 03/04/2013 11:22:46 
04/04/2013 11:22:46 10/04/2013 11:22:46 
11/04/2013 11:22:46 17/04/2013 11:22:46 
18/04/2013 11:22:46 24/04/2013 11:22:46 
25/04/2013 11:22:46 01/05/2013 11:22:46 
02/05/2013 11:22:46 08/05/2013 11:22:46 
09/05/2013 11:22:46 15/05/2013 11:22:46 

या यदि आप समय घटक नहीं चाहते हैं, तो आप अंतिम चयन को इस तरह बदल सकते हैं:

SELECT CONVERT(VARCHAR, StartDate, 103), CONVERT(VARCHAR, EndDate, 103) FROM @dates


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 स्प्लिट, सॉर्ट और मर्ज वैल्यू

  2. जहां में (गैर-मौजूद कॉलमनाम चुनें) अप्रत्याशित व्यवहार का कारण बनता है

  3. क्या SQL सर्वर में पंक्ति स्तर लॉकिंग को बाध्य करना संभव है?

  4. किसी दिनांक सीमा के भीतर तालिका से सभी दिनांकों का चयन करना और प्रति रिक्त दिनांक में 1 पंक्ति शामिल करना

  5. एसक्यूएल बल्क इंसर्ट के साथ शून्य मान नहीं डालेगा