我希望得到周开始日期和星期结束日期使用周数如何在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