SQL Server DATE calculations



Finding the First Tuesday of the month

SET DATEFIRST 2;
DECLARE @dt DATETIME
SELECT @dt = '2009-6-12' 
SELECT
   CASE
    WHEN DATEPART(WEEKDAY, DATEADD(MONTH, DATEDIFF(MONTH, 0, @dt), 0)) = 1
      THEN DATEADD(MONTH, DATEDIFF(MONTH, 0, @dt), 0)
      ELSE DATEADD(MONTH, DATEDIFF(MONTH, 0, @dt), 0) +
        (7 - DATEPART(WEEKDAY, DATEADD(MONTH, DATEDIFF(MONTH, 0, @dt), 0)) + 1)
    END AS FirstTuesday

/*
FirstTuesday
-----------------------
2009-06-02 00:00:00.000
*/

Share |

 Cant find the page you are looking for?
 Help us to improve by adding the content that you are looking for.
 Leave a feedback
 We look forward to hear your comments and feedback.