您的位置:首页 > 数据库 > MySQL

MySql取得日期(前一天、某一天)(前一月第一天到最后一天)

2015-08-26 11:29 483 查看
文件出处:MySql取得日期(前一天、某一天)

取得当天:

SELECT curdate();

mysql> SELECT curdate();

+------------+

| curdate()  |

+------------+

| 2013-07-29 |

+------------+

 

取得当前日期:

mysql> select now();

+---------------------+

| now()               |

+---------------------+

| 2013-07-29 22:10:40 |

+---------------------+

取得前一天:

mysql> select date_sub(curdate(),interval 1 day);

+------------------------------------+

| date_sub(curdate(),interval 1 day) |

+------------------------------------+

| 2013-07-28                         |

+------------------------------------+

 

括号中为当天时间的前一天,如果统计前几天就将括号中的’1’改成相应的天数。如果要算月或年,直接将day改为month或year即可

 

 取得前一天的年份:

mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));

+------------------------------------------+

| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |

+------------------------------------------+

|                                     2013 |

+------------------------------------------+

 

 

 

 date_sub()函数的例子:

今天是2013年5月20日。

date_sub('2012-05-25',interval 1 day) 表示 2012-05-24

date_sub('2012-05-25',interval 0 day) 表示 2012-05-25

date_sub('2012-05-25',interval -1 day) 表示 2012-05-26

date_sub('2012-05-31',interval -1 day) 表示 2012-06-01

date_sub(curdate(),interval 1 day) 表示 2013-05-19

date_sub(curdate(),interval -1 day) 表示 2013-05-21

date_sub(curdate(),interval 1 month) 表示 2013-04-20

date_sub(curdate(),interval -1 month) 表示 2013-06-20

date_sub(curdate(),interval 1 year) 表示 2012-05-20

date_sub(curdate(),interval -1 year) 表示 2014-05-20

自己写的

得到前一月第一天和最后一天日期  【如:当前时间  2015-09-15】

select date_format(curdate(),'%e'); # 当月的第几天【几号】 【如:15】
select subdate(curdate(),date_format(curdate(),'%e')); # 前一月最后一天 【如:2015-08-31】
SELECT subdate(date_sub(curdate(),interval 1 month), date_format(date_sub(curdate(),interval 1 month),'%e')-1); #前一月第一天【如:2015-08-01】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: