SELECT @FIRST_DAYM:=CONCAT(EXTRACT(YEAR FROM NOW()),'-03-01') AS first_day_of_march , @DOWM :=DATE_FORMAT(@FIRST_DAYM, '%w') AS day_of_week_march , @SSoM :=@FIRST_DAYM + INTERVAL 14 DAY - INTERVAL @DOWM DAY AS second_sunday_of_march , @SSoM2 :=CONCAT(@SSoM,' 02:00:00') AS second_sunday_of_march_at_2am , @FIRST_DAYN:=CONCAT(EXTRACT(YEAR FROM NOW()),'-11-01') AS first_day_of_november , @DOWN :=DATE_FORMAT(@FIRST_DAYN, '%w') AS day_of_week_november , @FSoN :=@FIRST_DAYN + INTERVAL 7 DAY - INTERVAL @DOWN DAY AS first_sunday_of_november , @FSoN2 :=CONCAT(@FSoN,' 02:00:00') AS first_sunday_of_november_at_2am , @TEST_DATE :=$q_test_date AS test_date /* change this to test different dates */ , IF(@TEST_DATE >= @SSoM2 AND @TEST_DATE < @FSoN2, 1, 0) AS is_dst /* result