set @d='2011-04-01'; select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1; mysql> set @d='2011-04-03'; Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1; +------------------------------------------------------+ | (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 | +------------------------------------------------------+ | 1 | +------------------------------------------------------+ 1 row in set (0.00 sec)mysql> set @d='2011-04-04'; Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1; +------------------------------------------------------+ | (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 | +------------------------------------------------------+ | 2 | +------------------------------------------------------+ 1 row in set (0.00 sec)mysql> set @d='2011-04-01'; Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1; +------------------------------------------------------+ | (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 | +------------------------------------------------------+ | 1 | +------------------------------------------------------+ 1 row in set (0.00 sec)mysql>
set @d='2011-04-03'; SELECT WEEK(@dd,7)-WEEK(DATE(CONCAT(YEAR(@dd),'-',MONTH(@dd),'-01')),7)+ IF(WEEK(@dd,7)=WEEK(DATE(CONCAT(YEAR(@dd),'-',MONTH(@dd),'-01')),7),1,0);
select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1;
mysql> set @d='2011-04-03';
Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1;
+------------------------------------------------------+
| (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 |
+------------------------------------------------------+
| 1 |
+------------------------------------------------------+
1 row in set (0.00 sec)mysql> set @d='2011-04-04';
Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1;
+------------------------------------------------------+
| (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 |
+------------------------------------------------------+
| 2 |
+------------------------------------------------------+
1 row in set (0.00 sec)mysql> set @d='2011-04-01';
Query OK, 0 rows affected (0.00 sec)mysql> select (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1;
+------------------------------------------------------+
| (day(@d)+WEEKDAY(@d-interval day(@d) day)) div 7 + 1 |
+------------------------------------------------------+
| 1 |
+------------------------------------------------------+
1 row in set (0.00 sec)mysql>
SELECT WEEK(@dd,7)-WEEK(DATE(CONCAT(YEAR(@dd),'-',MONTH(@dd),'-01')),7)+
IF(WEEK(@dd,7)=WEEK(DATE(CONCAT(YEAR(@dd),'-',MONTH(@dd),'-01')),7),1,0);
set @d='2011-4-3';
select weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1;mysql> set @d='2011-4-3';
Query OK, 0 rows affected (0.00 sec)mysql> select weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1;
+--------------------------------------------------------+
| weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1 |
+--------------------------------------------------------+
| 1 |
+--------------------------------------------------------+
1 row in set (0.00 sec)mysql> set @d = '2011-4-4';
Query OK, 0 rows affected (0.00 sec)mysql> select weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1;
+--------------------------------------------------------+
| weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1 |
+--------------------------------------------------------+
| 2 |
+--------------------------------------------------------+
1 row in set (0.00 sec)
-> //
mysql> set @d='2011-4-4';
Query OK, 0 rows affected (0.00 sec)mysql> select week(@d)-week(@d-interval day(@d)-1 day)+1;
+--------------------------------------------+
| week(@d)-week(@d-interval day(@d)-1 day)+1 |
+--------------------------------------------+
| 2 |
+--------------------------------------------+
1 row in set (0.00 sec)