mysql> select date_sub('2007-09-01',interval dayofweek('2007-09-01')-2 day) as b
egin, date_add('2007-09-01',interval (8-dayofweek('2007-09-01')) day) as end;
+------------+------------+
| begin | end |
+------------+------------+
| 2007-08-27 | 2007-09-02 |
+------------+------------+
1 row in set (0.00 sec)
mysql> select date_sub('2007-09-18',interval dayofweek('2007-09-18')-2 day) as b
egin, date_add('2007-09-18',interval (8-dayofweek('2007-09-18')) day) as end;
+------------+------------+
| begin | end |
+------------+------------+
| 2007-09-17 | 2007-09-23 |
+------------+------------+
1 row in set (0.00 sec)