如何从sql中的周数获取日期范围

时间:2016-09-08 08:45:04

标签: sql-server-2008

我想从sql中的周数得到日期范围。 例如

<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="ContactName" HeaderText="Contact Name" ItemStyle-Width="150px" />
        <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="100px" />
        <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="100px" />
    </Columns>
</asp:GridView>

我想从第37周(2016年4月9日,2016年9月5日,2016年6月6日,2016年9月9日,2016年9月9日,2016年9月9日,10 / 09/2016)

1 个答案:

答案 0 :(得分:1)

试试这个,

DECLARE @StartDate DATE = dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate())) 
  , @EndDate DATE = dateadd(day, 7-datepart(dw, getdate()), CONVERT(date,getdate()))

SELECT  DATEADD(DAY, nbr - 1, @StartDate) as CurrentWeekDates
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr
          FROM      sys.columns c
        ) nbrs
WHERE   nbr - 1 <= DATEDIFF(DAY, @StartDate, @EndDate)