Sql server SQL Server中第x周的日期范围?

Sql server SQL Server中第x周的日期范围?,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我知道年份和本周的指数,即2014年,第五周。如何在SQL Server中查找本周的开始和结束日期?我真的不在乎从星期一开始的一周是星期天 在mySQL中,它有一个MakeDate,可以做到这一点。在SQL Server中是否存在执行此操作的现有方法 谢谢,试试这个 DECLARE @date DATE='2014-01-01' SELECT Dateadd(dd, -( Datepart(dw, Dateadd(wk, 5, @date) - 1) ), Dateadd(wk, 5, @da

我知道年份和本周的指数,即2014年,第五周。如何在SQL Server中查找本周的开始和结束日期?我真的不在乎从星期一开始的一周是星期天

在mySQL中,它有一个MakeDate,可以做到这一点。在SQL Server中是否存在执行此操作的现有方法

谢谢,试试这个

DECLARE @date DATE='2014-01-01'

SELECT Dateadd(dd, -( Datepart(dw, Dateadd(wk, 5, @date) - 1) ), Dateadd(wk, 5, @date)) [WeekStart],
       Dateadd(dd, 7 - ( Datepart(dw, Dateadd(wk, 5, @date)) ), Dateadd(wk, 5, @date))  [WeekEnd] 
选择DATEADD(yy,DATEDIFF(yy,0,getdate()),0)==>提供当前年份的开始日期

在顶部选择dateadd(wk,5,dateadd(yy,DATEDIFF(yy,0,getdate()),0))==>添加5周以获取2014年第5周的开始日期

在顶部选择dateadd(dd,6,dateadd(wk,5,dateadd(yy,DATEDIFF(yy,0,getdate()),0))==>添加6天以获取2014年第5周的最后日期

SELECT
  dateadd(wk,5,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)) as firstdayof5thweek2014,
  dateadd(dd,6,dateadd(wk,5,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))) as lastdayof5thweek2014