SELECT DATEADD(day,-3, DATEADD(week, DATEDIFF(week, 0, current_timestamp)+1, 0)) AS LastFridayDateOfWeek
獲取當前周的最後一天(星期日),然後減去3從那得到星期五。
更換current_timestamp
如果你需要一個不同的日期週五。
編輯: 我想到這一點,如果上述(本週五,所以週六它提供了一個日期)不起作用,你可以很容易地使用基準日設定像這樣:
DATEADD(DAY,7 + DATEDIFF(day,'20100109',@checkDateTime)/7*7,'20100108') as FridayRefDate
同樣的事情,但沒有硬編碼週五/週六在它:
DATEADD(DAY,7 + DATEDIFF(day,DATEADD(wk, DATEDIFF(wk,0,@checkDateTime),5),@checkDateTime)/7*7,DATEADD(wk, DATEDIFF(wk,0,@checkDateTime), 4))
所以對於20100109是星期五。
SET @checkDateTime = '2012-01-14 3:34:00.000'
SELECT DATEADD(DAY,7 + DATEDIFF(day,'20100109',@checkDateTime)/7*7,'20100108') as FridayRefDate
返回 「2012年1月20日」
但SET @checkDateTime = '2012-01-13 3:34:00.000'
返回 「2012年1月13日」
所以你希望某列的默認值是最近即將到來的星期五? –
HTTP://計算器。com/questions/5998084/get-the-most-recent-fridays-date -sql –
我希望默認值基於現在的日期,然後知道下一個可用日期是'05-07/2013' – PriceCheaperton