Get first Sunday of next month using T-SQL

后端 未结 9 2224
梦毁少年i
梦毁少年i 2021-02-09 13:19

Looking for a way to get the date in the format \"11/1/2009\", which would be the first sunday of next month. I want to run this query after the first sunday in october to get

9条回答
  •  一生所求
    2021-02-09 14:00

    Try this code as a function:

    -- Variables
    DECLARE @DATE DATETIME
    DECLARE @DAY INT
    DECLARE @DAYOFWEEK INT
    DECLARE @TESTDATE DATETIME
    
    -- Set
    SET @TESTDATE = GETDATE()
    SET @DATE = DATEADD( MONTH, 1, @TESTDATE )
    SET @DAY = DATEPART( DAY, @TESTDATE )
    SET @DATE = DATEADD( DAY, -@DAY + 1, @DATE )
    SET @DAYOFWEEK = DATEPART( WEEKDAY, @DATE )
    IF @DAYOFWEEK > 1
    BEGIN
        SET @DAYOFWEEK = 8 - @DAYOFWEEK
    END
    ELSE
    BEGIN
        SET @DAYOFWEEK = 0
    END
    
    SET @DATE = DATEADD( DAY, @DAYOFWEEK, @DATE )
    
    -- Display
    PRINT @TESTDATE
    PRINT @DAY
    PRINT @DAYOFWEEK
    PRINT @DATE
    

提交回复
热议问题