MySQL日期函数

1. 取得当天

1
2
3
4
5
6
mysql> SELECT curdate();
+------------+
| curdate() |
+------------+
| 2013-07-29 |
+------------+

2. 取得当前日期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select sysdate();
+---------------------+
| sysdate() |
+---------------------+
| 2016-05-30 13:58:17 |
+---------------------+
1 row in set
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2016-05-30 13:58:29 |
+---------------------+
1 row in set

3. 取得当前时间

1
2
3
4
5
6
7
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 13:54:31 |
+-----------+
1 row in set

4. 取得前一天

1
2
3
4
5
6
mysql> select date_sub(curdate(),interval 1 day);
+------------------------------------+
| date_sub(curdate(),interval 1 day) |
+------------------------------------+
| 2013-07-28 |
+------------------------------------+

5. 取得下一天

1
2
3
4
5
6
7
mysql> SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
+--------------------------------+
| DATE_ADD(NOW(),INTERVAL 1 DAY) |
+--------------------------------+
| 2016-05-31 14:09:16 |
+--------------------------------+
1 row in set

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

6. 取得前一天的年份

1
2
3
4
5
6
mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));
+------------------------------------------+
| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
+------------------------------------------+
| 2013 |
+------------------------------------------+

7. SYSDATE()为:2016-05-30 周一

1
2
3
4
5
6
SELECT WEEK(SYSDATE()); -- 22
SELECT WEEKOFYEAR(SYSDATE()); -- 22
SELECT WEEKDAY(SYSDATE()); -- 0
SELECT DAY(SYSDATE()); -- 30
SELECT MONTH(SYSDATE()); -- 5
SELECT YEAR(SYSDATE()); -- 2016

8. date_sub()函数的例子

今天是2013年5月20日

1
2
3
4
5
6
7
8
9
10
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
欣赏此文?求鼓励,求支持!
显示 Disqus 评论
0%