代码之家  ›  专栏  ›  技术社区  ›  Rute

如何使用日历规则在SQL中获取一年中的一周?

  •  3
  • Rute  · 技术社区  · 7 年前

    在里面NET C#有日历。GetWeekOfYear方法

    public virtual int GetWeekOfYear(
    DateTime time,
    CalendarWeekRule rule,
    DayOfWeek firstDayOfWeek)
    

    其中有一个参数“CalendarWeekRule”来定义规则。 在我的例子中,我使用了CalendarWeekRule。FirstFourDayWeek断言一周需要在同一个月内有4天才能被视为一周。

    https://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear(v=vs.110).aspx

    我如何在SQL中做到这一点? 有等价函数吗?

    2 回复  |  直到 7 年前
        1
  •  5
  •   Fleury26    7 年前
    DATEPART ( wk, date ) 
    

    这将返回从您提供的日期算起的一周的整数。更多参数 DATEPART 这是链接! DATEPART TSQL

    编辑:正如您在评论中提出的问题,您可以使用 SET DATEFIRST = (see values here)

        2
  •  1
  •   Ali Azam adi    7 年前

    在SQL中,如果表是“tblWeekOfYear”,并且[time]是DateTime字段,则它计算两个不同日期的周数 '2017-10-01' and '2017-10-02' 在DateTime字段中。

    Select Distinct DatePart(ww, [time]) as WeekNo
    from tblWeekOfYear where [time] between '2017-10-01' and '2017-10-02';