如何在sql server 2008中获取一周的第一天和一周的最后一天?

Gau*_*dri 6 sql sql-server date

当我们输入一周中的任何一天时,如何获得一周的第一天和一周的最后一天?

例如,如果我们输入日期,则应显示第一天(星期一)和最后一天(星期五).也就是说,如果我们进入2014年1月24日,则应显示2014年1月20日和2014年1月24日.

问候

Nik*_*las 15

这是你如何做到的:

DECLARE @yourdate date = getdate()
Select dateadd(ww, datediff(ww, 0, @yourdate), 0)
Select dateadd(ww, datediff(ww, 0, @yourdate), 4)
Run Code Online (Sandbox Code Playgroud)

您设置@yourdate为您想要的日期.第一个SELECT将为您提供第一天,第二个SELECT将为您提供最后一个日期

  • @Pierre我认为他的意思是工作周而不是常规工作周.虽然如果他意味着一个常规的一周,你必须将它改为6才能获得星期天. (4认同)
  • 这不会围绕年份,尝试 select dateadd(ww, datediff(ww, 0, Convert(date, '01 一月 2017')), 0) (2认同)