时间日期相关函数
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间按的单独部分 |
DATE_ADD() | 给日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
NOW()
返回当前的日期和时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2022-04-19 14:34:30 |
+---------------------+
1 row in set (0.00 sec)
mysql> select now(),curdate(),curtime();
+---------------------+------------+-----------+
| now() | curdate() | curtime() |
+---------------------+------------+-----------+
| 2022-04-19 14:36:15 | 2022-04-19 | 14:36:15 |
+---------------------+------------+-----------+
1 row in set (0.00 sec)
CURDATE()
返回当前的日期
mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2022-04-19 |
+------------+
1 row in set (0.00 sec)
CURTIME()
返回当前的时间
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 14:35:17 |
+-----------+
1 row in set (0.00 sec)
DATE()
DATE() 函数提取日期或日期/时间表达式的日期部分
EXTRACT()
EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
语法:EXTRACT(unit FROM date)
- date 参数是合法的日期表达式。
- unit 参数可以是下列的值:
DATE_ADD()
DATE_ADD() 函数向日期添加指定的时间间隔。
语法:DATE_ADD(date,INTERVAL expr type)
- date 参数是合法的日期表达式。
- expr 参数是您希望添加的时间间隔。
- type 参数可以是下列值:
DATE_SUB()
从日期减去指定的时间间隔
格式:DATE_SUB(date,INTERVAL expr type)
- date 参数是合法的日期表达式。
- expr 参数是您希望添加的时间间隔。
- type 参数可以是下列值:
可选值 | 说明 |
---|---|
MICROSECOND | 微秒 |
SECOND | 秒 |
MINUTE | 分 |
HOUR | 小时 |
DAY | 天 |
WEEK | 周 |
MONTH | 月 |
QUARTER | 季 |
YEAR | 年 |
SECOND_MICROSECOND | |
MINUTE_MICROSECOND | |
MINUTE_SECOND | |
HOUR_MICROSECOND | |
HOUR_SECOND | |
HOUR_MINUTE | |
DAY_MICROSECOND | |
DAY_SECOND | |
DAY_MINUTE | |
DAY_HOUR | |
YEAR_MONTH | 年月 |
示例:
mysql> SELECT DATE_SUB('2022-06-06',INTERVAL 1 DAY);
+---------------------------------------+
| DATE_SUB('2022-06-06',INTERVAL 1 DAY) |
+---------------------------------------+
| 2022-06-05 |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);
+------------------------------------+
| DATE_SUB(CURDATE(),INTERVAL 1 DAY) |
+------------------------------------+
| 2022-04-18 |
+------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_SUB('2022-01-04 12:00:09',INTERVAL 1 second);
+---------------------------------------------------+
| DATE_SUB('2022-01-04 12:00:09',INTERVAL 1 second) |
+---------------------------------------------------+
| 2022-01-04 12:00:08 |
+---------------------------------------------------+
1 row in set (0.00 sec)