1、首先需要注意:
1.1 MySQL中把日期和时间是分开的。
以字符串2007-12-31 00:59:59
为例:
日期部分:2007-12-31
。这部分也可以叫做一个日期表达式。
时间部分:00:59:59
。这部分也可以叫做一个时间表达式。
对这两部分分别有不同的操作函数。
同时,对于SQL语句中的字符串:如果符合上述样式,MySQL就可以把其当作一个日期使用。
1.2 对于函数的使用:
虽然MySQL中有的函数后面需要带括号,有的不需要,但还是建议统一加括号,便于使用和区分,也能减少出错。
2、常用函数
- | 日期部分 | 时间部分 | 日期和时间 |
---|---|---|---|
当前 | CURDATE() 和 CURRENT_DATE() |
CURTIME() 和 CURRENT_TIME() |
NOW() 和 CURRENT_TIMESTAMP() |
加 | ADDDATE(date, INTERVAL expr unit) 和 DATE_ADD(date, INTERVAL expr unit) |
ADDTIME(expr1, expr2) |
TIMESTAMPADD(interval,int_expr,datetime_expr) |
减 | DATE_SUB(date, INTERVAL expr unit) |
||
计差 | DATEDIFF(expr1, expr2) |
可用TIMESTAMPDIFF |
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) |
格式化 | DATE_FORMAT(date, format) |
||
其他 | DATE(expr) :提取日期部分 |
3、常用SQL备份:
SELECT CURDATE(),CURRENT_DATE(),CURTIME(),CURRENT_TIME(),NOW(),CURRENT_TIMESTAMP();
SELECT ADDDATE('2012-08-24 09:00:10',INTERVAL 1 DAY);
SELECT TIMESTAMPDIFF(SECOND,'2012-08-24 09:00:00','2012-08-24 09:00:10');
SELECT DATE_FORMAT('2019-02-02', '%Y-%m-%d %H:%i:%s');
SELECT DATE('2012-08-24 09:00:00');
SELECT DATE(NOW());