如果以星期日 ~ 星期六為一週的話
直接用 datepart(wk, @TargetDate) 就可以抓出正確的週別了
但是如果是星期五 ~ 星期四為一週
或星期一 ~ 星期日為一週呢?
可以利用下面的公式算出對應的週別
@TargetDate 是要查詢的日期
@StartNo 是指星期幾開始
(ex. 星期五 ~ 星期四為一週, @StartNo = 5)
case when (datepart(dy, @TargetDate) - @StartNo) <= 0 then 1
else datepart(wk, @TargetDate - @StartNo) end
else datepart(wk, @TargetDate - @StartNo) end