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】
取得当天:
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】
相关文章推荐
- mysql事务
- 常用mysql命令
- mysql扩展库和mysqli扩展库的比较
- 关于MySQL AUTO_INCREMENT的小情况
- cmd进入mysql的方法
- MYSQL中文输出乱码
- 转:mysql show processlist命令 详解
- MySQL(二)之MySQL基本操作
- mysql 导入数据容量设置
- mysql笔记
- MySQL(一)之通用二进制格式安装MySQL及数据库基本概念
- MySQL Server 6.0完全卸载以及卸载中遇到的问题
- MySql 字符串时间转换 和 中文乱码
- sql server和mysql server sql语句对比
- MySQL函数
- MySQL存储过程
- 查看索引使用情况
- MYSQL 源码安装
- MySQL查询优化
- MySQL数据库事务隔离级别(Transaction Isolation Level)