सप्ताह के पहले दिन (रविवार, सोमवार आदि) पर आप जो भी विचार करेंगे, निम्नलिखित काम करेगा, बस सुनिश्चित करें कि आप SET DATEFIRST
का उपयोग करते हैं यदि आप डिफ़ॉल्ट से बदलना चाहते हैं। SET DATEFIRST 1
सप्ताह के पहले दिन को सोमवार बनाएगा।
SELECT DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekStart],
DATEADD(DAY, 7 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekEnd]
संपादित करें
मैंने आपके अनुरोध को अभी-अभी फिर से पढ़ा है और मुझे लगता है कि आप जो कुछ मैंने ऊपर दिया है, उससे कुछ अलग हो सकता है। यदि आप महीने के पहले और आखिरी सप्ताह के दिन चाहते हैं तो यह काम करेगा:
SELECT DATENAME(WEEKDAY, DATEADD(DAY, 1 - DATEPART(DAY, GETDATE()), GETDATE())) [FirstDayOfMonth],
DATENAME(WEEKDAY, DATEADD(DAY, - DATEPART(DAY, DATEADD(MONTH, 1, GETDATE())), DATEADD(MONTH, 1, GETDATE()))) [LastDayOfMonth]