SQL DATEPART(dw,date) need monday = 1 and sunday = 7

后端 未结 12 666
[愿得一人]
[愿得一人] 2020-12-23 16:27

I have a Query where I get the WeekDay of a date but by default:

  • Sunday = 1

  • Moday = 2

  • etc.

12条回答
  •  北荒
    北荒 (楼主)
    2020-12-23 17:17

    Try this:

    CREATE FUNCTION dbo.FnDAYSADDNOWK(
              @addDate AS DATE, 
              @numDays AS INT
           ) RETURNS DATETIME AS
    
        BEGIN
        WHILE @numDays > 0 BEGIN
            SET @addDate = DATEADD(day, 1, @addDate)    
            IF DATENAME(DW, @addDate) <> 'sunday' BEGIN
                SET @numDays = @numDays - 1 
            END
        END
    
        RETURN CAST(@addDate AS DATETIME)
    END
    

提交回复
热议问题