相关疑难解决方法(0)

从SQL Server中的周数获取周开始日期和周结束日期

我有一个查询计算会员在数据库中的结婚日期...

Select 
  Sum(NumberOfBrides) As [Wedding Count], 
  DATEPART( wk, WeddingDate) as [Week Number],
  DATEPART( year, WeddingDate) as [Year]
FROM  MemberWeddingDates
Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud)

如何在结果集中表示每周的开始和结束时计算出来?

Select 
      Sum(NumberOfBrides) As [Wedding Count], 
      DATEPART( wk, WeddingDate) as [Week Number],
      DATEPART( year, WeddingDate) as [Year],
      ??? as WeekStart,
      ??? as WeekEnd

    FROM  MemberWeddingDates
    Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
    Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 date week-number

87
推荐指数
3
解决办法
25万
查看次数

SQL Server - 根据周数获取一周内的第一个日期?

我有一个查询(用于bug tracker.net),按状态计算每周的错误数.但查询返回周数,我真正想要的是一周的第一个日期

select datepart(wk, DateAdd(day, 0, DateDiff(day, 0, bg_reported_date)))
       as [week], bg_status , st_name as [status], count(*) as [count] 
  from bugs inner join statuses on bg_status = st_id 
 group by datepart(wk, DateAdd(day, 0, DateDiff(day, 0, bg_reported_date))),
          bg_status, st_name
 order by [week], bg_status
Run Code Online (Sandbox Code Playgroud)

得到周数的部分是

datepart(wk, DateAdd(day, 0, DateDiff(day, 0, bg_reported_date))) as [week]
Run Code Online (Sandbox Code Playgroud)

它返回此输出:

week        bg_status   status                                        count
----------- ----------- --------------------------------------------- ------
22          1           new                                           1
22          5           closed                                        32
Run Code Online (Sandbox Code Playgroud)

但最好是说每周的第一个日期,例如01-01-2010,然后是08-01-2010等

问题不是重复如何从SQL Server中的周数获得"周开始日期"和"周结束日期"?(回答说如何从一个星期开始,而不是从一周的数字开始)

不是从周数计算日期的重复(问题请求c#)

从提供的日期获取第一周的日期(问题请求javascript)不重复

我做了搜索,但找不到这个问题的答案SQL Server(2010如果重要)

t-sql sql-server week-number bugtracker.net

4
推荐指数
1
解决办法
6310
查看次数

SQL Server:使用inparameters year,week,weekday获取日期

我已经搜索过,但还没有找到这个有用的小片段。

我要输入...

  • 年份 (2014)
  • 周数 (2)
  • 工作日(2 = 星期二,就我而言)

预期结果:(2014-01-07一月七日)

并获得完整的日期作为回报,有人吗?

编辑:我的服务器是 SQL 2008


完成的代码感谢所有人!。

declare @year int = 2014
declare @weeknr int = 2
declare @daynroffset int = 2


SELECT 
  DATEADD(DAY,+ (@daynroffset-1),
    DATEADD(DAY,-DATEPART(DW,CAST('1/1/' + cast(@year as varchar) AS Date))+2,DATEADD(WK,@weeknr-    1,CAST('1/1/' + cast(@year as varchar) AS Date)))
  )
Run Code Online (Sandbox Code Playgroud)

sql sql-server date sql-server-2008

3
推荐指数
1
解决办法
1579
查看次数