Less hideous way to do this?

DECLARE @date DATETIME = GETDATE() - 14;

SELECT StartDate, DATEADD(DAY, 14, StartDate) AS EndDate
FROM (
SELECT CASE WHEN DATEPART(WEEK, date) % 2 = 0 THEN DATEADD(DAY, -7, date)
    ELSE date END AS StartDate
FROM (
    SELECT date = CAST(DATEADD(DAY, -DATEDIFF(DAY, 1, @date) % 7, @date) AS date)
) AS find_most_recent_Tuesday
) AS adjust_start_date
1 Like