1. 程式人生 > >MySql取得日期(前一天、某一天)(前一月第一天到最後一天)

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

取得當天:

mysql> SELECT curdate();
+------------+
| curdate()  |
+------------+
| 2018-11-24 |
+------------+

取得當前日期:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2018-11-24 13:41:51 |
+---------------------+

取得前一天:

mysql> select date_sub(curdate(),interval 1 day);
+------------------------------------+
| date_sub(curdate(),interval 1 day) |
+------------------------------------+
| 2018-11-23                        |
+------------------------------------+

括號中為當天時間的前一天,如果統計前幾天就將括號中的’1’改成相應的天數。如果要算月或年,直接將day改為month或year即可

SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));
+------------------------------------------+
| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
+------------------------------------------+
|                                     2018 |
+------------------------------------------+
select date_format(curdate(),'%e');    # 當月的第幾天【幾號】  【如:24】
select subdate(curdate(),date_format(curdate(),'%e'));    # 前一月最後一天 【如:2018-10-31】
SELECT subdate(date_sub(curdate(),interval 1 month), date_format(date_sub(curdate(),interval 1 month),'%e')-1);  #前一月第一天【如:2018-10-01】