【问题标题】:I want to get the sunday WeekNo?我想得到星期天 WeekNo?
【发布时间】:2013-01-24 12:02:00
【问题描述】:

我使用的是 SQL Server 2008 R2。我需要获得周日 weekno 并且我已经有了查询,但它显示了错误的数据。我能做什么?

它显示 2 而不是 1。例如,06-Jan-2013(WeekNo - 1)

我的查询是

SELECT DATEPART (week, '01-13-2013 23:59:59.000' ) As WeekNo1 ,  
  DATEPART (week, '01-06-2013 23:59:59.000' ) As WeekNo2 ,  
  DATEPART (week, '12-30-2012 23:59:59.000' ) As WeekNo3 ,  
  DATEPART (week, '12-23-2012 23:59:59.000' ) As WeekNo4 ,  
  DATEPART (week, '12-16-2012 23:59:59.000' ) As WeekNo5 ,  
  DATEPART (week, '12-09-2012 23:59:59.000' ) As WeekNo6 

【问题讨论】:

    标签: sql sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2


    【解决方案1】:

    您需要将DATEFIRST 属性设置为一周的开始日期。这指定了一周的第一天。

    要确定服务器一周的第一天是什么,您将使用:

    SELECT @@DATEFIRST
    

    那么如果你需要改变这个值,你会使用:

    SET DATEFIRST 1;
    
    SELECT DATEPART (week, '01-13-2013 23:59:59.000' ) As WeekNo1 ,  
      DATEPART (week, '01-06-2013 23:59:59.000' ) As WeekNo2 ,  
      DATEPART (week, '12-30-2012 23:59:59.000' ) As WeekNo3 ,  
      DATEPART (week, '12-23-2012 23:59:59.000' ) As WeekNo4 ,  
      DATEPART (week, '12-16-2012 23:59:59.000' ) As WeekNo5 ,  
      DATEPART (week, '12-09-2012 23:59:59.000' ) As WeekNo6 
    

    SQL Fiddle with Demo

    【讨论】:

      【解决方案2】:

      查询:

      SQLFIDDLEExample

      SET DATEFIRST 1
      SELECT DATEPART (week, '01-13-2013 23:59:59.000' ) As WeekNo1 ,  
             DATEPART (week, '01-06-2013 23:59:59.000' ) As WeekNo2 , 
             DATEPART (week, '12-30-2012 23:59:59.000' ) As WeekNo3 ,  
             DATEPART (week, '12-23-2012 23:59:59.000' ) As WeekNo4 ,  
             DATEPART (week, '12-16-2012 23:59:59.000' ) As WeekNo5 ,  
             DATEPART (week, '12-09-2012 23:59:59.000' ) As WeekNo6 
      

      结果:

      | WEEKNO1 | WEEKNO2 | WEEKNO3 | WEEKNO4 | WEEKNO5 | WEEKNO6 |
      -------------------------------------------------------------
      |       2 |       1 |      53 |      52 |      51 |      50 |
      

      【讨论】:

      • 初始/原始DATEFIRST设置应在SELECT ...之后恢复。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 2019-10-19
      • 2023-04-11
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多