MySQL中如何Select出本周第一天的日期? 我知道当日时可以用select curdate();来实现,那么我想select 出本周周一的日期呢?还有本月第一天的日期呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本周周一mysql> select curdate(), date_sub(curdate(),interval WEEKDAY(curdate()) day);+------------+-----------------------------------------------------+| curdate() | date_sub(curdate(),interval WEEKDAY(curdate()) day) |+------------+-----------------------------------------------------+| 2009-09-03 | 2009-08-31 |+------------+-----------------------------------------------------+1 row in set (0.00 sec)mysql> 本月第一天的日期mysql> select curdate(), date_sub(curdate(),interval DAY(curdate())-1 day);+------------+---------------------------------------------------+| curdate() | date_sub(curdate(),interval DAY(curdate())-1 day) |+------------+---------------------------------------------------+| 2009-09-03 | 2009-09-01 |+------------+---------------------------------------------------+1 row in set (0.00 sec)mysql> mysql> select date_format(concat(year(curdate()),'-',month(curdate()),'-','1'),"%Y/%m/%d");+------------------------------------------------------------------------------+| date_format(concat(year(curdate()),'-',month(curdate()),'-','1'),"%Y/%m/%d") |+------------------------------------------------------------------------------+| 2009/09/01 |+------------------------------------------------------------------------------+1 row in set (0.00 sec) mysql> select curdate(), date_add(curdate(),interval -WEEKDAY(curdate()) day);+------------+------------------------------------------------------+| curdate() | date_add(curdate(),interval -WEEKDAY(curdate()) day) |+------------+------------------------------------------------------+| 2009-09-03 | 2009-08-31 |+------------+------------------------------------------------------+1 row in set (0.00 sec) --本周周一mysql> select subdate(curdate(),date_format(curdate(),'%w')-1);+--------------------------------------------------+| subdate(curdate(),date_format(curdate(),'%w')-1) |+--------------------------------------------------+| 2009-09-14 |+--------------------------------------------------+1 row in set (0.00 sec) --本月第一天mysql> select concat(left(curdate(),8),'01');+--------------------------------+| concat(left(curdate(),8),'01') |+--------------------------------+| 2009-09-01 |+--------------------------------+1 row in set (0.00 sec) mysql> select subdate(curdate(),date_format(curdate(),'%w')-1);+--------------------------------------------------+| subdate(curdate(),date_format(curdate(),'%w')-1) |+--------------------------------------------------+| 2009-08-31 |+--------------------------------------------------+1 row in set (0.00 sec)汗,刚才调了日期来测试忘了调过来 date_add(CURDATE(),INTERVAL -weekday(CURDATE()) day) date_add(CURDATE(),INTERVAL -weekday(CURDATE()) day) date_add(CURDATE(),INTERVAL -weekday(CURDATE()) day) mysql> select now() ,date_sub(now(),interval dayofweek(now())-2 day);+---------------------+-------------------------------------------------+| now() | date_sub(now(),interval dayofweek(now())-2 day) |+---------------------+-------------------------------------------------+| 2009-09-04 09:50:23 | 2009-08-31 09:50:23 |+---------------------+-------------------------------------------------+1 row in set (0.00 sec)mysql> 数据库同步Binlog Dump线程的问题 innodb 表修复问题,select错误ERROR 1033 (HY000):Incorrect information in file: './blog/b asp中读取postgresql空间数据的问题 mysql数据库在用于多线程执行时出现错误,急!!! 如何检查一个myisam表的碎片的指标? 大家帮忙看下这个sql语句的问题,困扰我一天了 mysql 分区表不能支持全文索引? 请教mysql中带多条件的快速检索方法 mysql 备份导入问题 mysql 数据恢复求救 变量 sql 简单问题
mysql> select curdate(), date_sub(curdate(),interval WEEKDAY(curdate()) day);
+------------+-----------------------------------------------------+
| curdate() | date_sub(curdate(),interval WEEKDAY(curdate()) day) |
+------------+-----------------------------------------------------+
| 2009-09-03 | 2009-08-31 |
+------------+-----------------------------------------------------+
1 row in set (0.00 sec)mysql>
+------------+---------------------------------------------------+
| curdate() | date_sub(curdate(),interval DAY(curdate())-1 day) |
+------------+---------------------------------------------------+
| 2009-09-03 | 2009-09-01 |
+------------+---------------------------------------------------+
1 row in set (0.00 sec)mysql>
mysql> select date_format(concat(year(curdate()),'-',month(curdate()),'-','1'),"
%Y/%m/%d");
+------------------------------------------------------------------------------+| date_format(concat(year(curdate()),'-',month(curdate()),'-','1'),"%Y/%m/%d") |+------------------------------------------------------------------------------+| 2009/09/01 |+------------------------------------------------------------------------------+1 row in set (0.00 sec)
mysql> select curdate(), date_add(curdate(),interval -WEEKDAY(curdate()) day);
+------------+------------------------------------------------------+
| curdate() | date_add(curdate(),interval -WEEKDAY(curdate()) day) |
+------------+------------------------------------------------------+
| 2009-09-03 | 2009-08-31 |
+------------+------------------------------------------------------+
1 row in set (0.00 sec)
+--------------------------------------------------+
| subdate(curdate(),date_format(curdate(),'%w')-1) |
+--------------------------------------------------+
| 2009-09-14 |
+--------------------------------------------------+
1 row in set (0.00 sec)
--本月第一天mysql> select concat(left(curdate(),8),'01');
+--------------------------------+
| concat(left(curdate(),8),'01') |
+--------------------------------+
| 2009-09-01 |
+--------------------------------+
1 row in set (0.00 sec)
+--------------------------------------------------+
| subdate(curdate(),date_format(curdate(),'%w')-1) |
+--------------------------------------------------+
| 2009-08-31 |
+--------------------------------------------------+
1 row in set (0.00 sec)
汗,刚才调了日期来测试忘了调过来
+---------------------+-------------------------------------------------+
| now() | date_sub(now(),interval dayofweek(now())-2 day) |
+---------------------+-------------------------------------------------+
| 2009-09-04 09:50:23 | 2009-08-31 09:50:23 |
+---------------------+-------------------------------------------------+
1 row in set (0.00 sec)mysql>