क्वास्नोई का जवाब काम करता है, लेकिन तारीखों को साफ करने के लिए आपको हुक पर छोड़ देता है यदि वे दिन के मध्य में तिथियां हैं (उनके सप्ताह की शुरुआत आपको एक दिन पहले छोड़ देती है यदि आप बीच में एक समय का उपयोग करते हैं दिन का -- आप GETDATE ()) का उपयोग करके परीक्षण कर सकते हैं।
मैंने अतीत में कुछ इस तरह का उपयोग किया है:
SELECT
CONVERT(varchar(50), (DATEADD(dd, @@DATEFIRST - DATEPART(dw, DATECOL), DATECOL)), 101),
CONVERT(varchar(50), (DATEADD(dd, @@DATEFIRST - DATEPART(dw, DATECOL) - 6, DATECOL)), 101)
इसका एक अतिरिक्त लाभ यह है कि @@ DATEFIRST का उपयोग करके आप गैर-मानक सप्ताह के शुरुआती दिनों को संभाल सकते हैं (डिफ़ॉल्ट रविवार है, लेकिन SET @@ DATEFIRST के साथ आप इसे बदल सकते हैं)।
ऐसा लगता है कि SQL सर्वर में साधारण दिनांक हेरफेर को यह रहस्यमय होना चाहिए, लेकिन आप वहां जाएं...