我希望得到周開始日期和星期結束日期使用週數如何在SQL Server中使用星期編號獲取星期開始和結束日期?
例如
輸入
我的週數= 32
輸出
WeekStartingDate WeekEndingDate
------------------------------------
06-08-2017 12-08-2017
注意
沒有日期。僅通過使用週數。可能嗎?
更新
我希望得到周開始日期和星期結束日期使用週數如何在SQL Server中使用星期編號獲取星期開始和結束日期?
例如
輸入
我的週數= 32
輸出
WeekStartingDate WeekEndingDate
------------------------------------
06-08-2017 12-08-2017
注意
沒有日期。僅通過使用週數。可能嗎?
更新
我想這樣的....
DECLARE @WK INT SET @WK = 32
DECLARE @YR INT SET @YR = 2017
SELECT DATEADD (WEEK, @WK, DATEADD (YEAR, @YR-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @WK, DATEADD (YEAR, @YR-1900, 0)) - 4) + 1 AS [WEEK_STARTDATE],
DATEADD (WEEK, @WK, DATEADD (YEAR, @YR-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @WK, DATEADD (YEAR, @YR-1900, 0)) - 4) + 7 AS [WEEK_ENDDATEDATE]
輸出
WEEK_STARTDATE WEEK_ENDDATEDATE
2017-08-06 00:00:00.000 2017-08-12 00:00:00.000
這會給你'07-08-2017'和'13-08-2017'。從startDate中刪除'+1並將+7更改爲+6' –
@mohamedfaiz不,你測試了嗎? – Sami
@Sami是的,我已經測試過了。我已經從這個[link](https://social.msdn.microsoft.com/Forums/sqlserver/en-US/cf233caf-4ccd-4bca-add2-b5eb467f2dd4/convert-week-number-to-date論壇= transactsql) –
請參考https://social.msdn.microsoft。 COM /論壇/ SQLSERVER/EN-US/cf233caf-4CCD-4bca-ADD2-b5eb467f2dd4/CONVER T-週數到日期的-1天的,是周?論壇= TRANSACTSQL。在那裏你可以找到如何獲得給定週數的日期。這並不能完全回答你的問題,但可以根據本文建議的方法構建解決方案。 –
結果不一樣,因爲'@@ DATEFIRST',嘗試'SELECT @@ DATEFIRST',你會理解我的意思,當datepart是星期(wk,ww)或星期幾(dw)時,返回值取決於通過使用SET DATEFIRST設置的值。 – Sami