SELECT CAST(0 AS DATETIME)
(DT_DBDATE)0
/*Date Available in db Result Expected Result01/11/2012 01:28 03/11/2012 00:00 29/10/2012 00:0004/11/2012 19:12 10/11/2012 00:00 03/11/2012 00:0006/11/2012 09:34 10/11/2012 00:00 03/11/2012 00:0012/11/2012 10:59 17/11/2012 00:00 10/11/2012 00:00*/WITH TestData AS (SELECT cast(TestDate as datetime) TestDateFROM (VALUES ('20121101 01:28'),('20121104 19:12'),('20121106 09:34'),('20121112 10:59'))dt(TestDate))select TestDate, dateadd(wk,datediff(wk,0,TestDate),0), dateadd(wk,datediff(wk,-2,TestDate),-2)from TestData;