or if you need up to the last millisecond: DECLARE @dt datetime SELECT @dt = GETDATE() SELECT DATEADD(ms, -3, DATEADD(MONTH, DATEDIFF(MONTH, 0, GetDate()) + 1, 0)) jg