क्या यह काम करेगा (आप GETDATE()
. को स्थानापन्न कर सकते हैं @date
. के लिए , मैंने इसका उपयोग विभिन्न तिथियों को आसानी से परखने के लिए किया है)
DECLARE @date DATETIME
SET @date = '2013-01-14'
SELECT
PrevFriday = CASE WHEN DATEPART(weekday, @date) <> 2 THEN @date
ELSE DATEADD(DAY, -3, @date)
END
अद्यतन करें:यहां वही है, लेकिन एसएसआईएस परिवर्तनीय अभिव्यक्ति में किया गया है:
DATEPART("dw", GETDATE()) != 2?
GETDATE():
DATEADD("dw", -3, GETDATE())
अद्यतन #2:यहां बताया गया है कि पिछले शुक्रवार को किसी भी तारीख के लिए कैसे लौटाया जाए, न कि केवल सोमवार
SELECT DATEADD(DAY, -1 - (DATEPART(weekday, @date) % 7), @date)