欢迎拜访:雾里看山-CSDN博客
本篇主题:【MySQL】内置函数
发布时间:2025.2.20
隶属专栏:MySQL
日期函数
函数介绍
函数名称 | 描述 |
---|---|
current_date() | 当前日期 |
current_time() | 当前时间 |
current_timestamp() | 当前时间戳 |
date(datetime) | 返回 datetime 参数的日期部分 |
date_add(date, interval d_value_type) | 在 date 中添加日期或者时间 interval 后的数值单位可以是:year minute second day |
date_sub(date, interval d_value_type) | 在 date 中减去日期或者时间 interval 后的数值单位可以是:year minute second day |
datediff(date1,date2) | 两个日期的差,单位是天 |
now() | 当前日期时间 |
函数使用
current_date() 获得年月日
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2025-02-18 |
+----------------+
1 row in set (0.02 sec)
current_time() 获得时分秒
mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 15:33:32 |
+----------------+
1 row in set (0.00 sec)
current_timestamp() 获得时间戳
mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2025-02-18 15:33:37 |
+---------------------+
1 row in set (0.00 sec)
now() 获取日期时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2025-02-18 15:36:23 |
+---------------------+
1 row in set (0.00 sec)
date 截取日期
参数是具体时间
mysql> select date('1949-10-01 00:00:00');
+-----------------------------+
| date('1949-10-01 00:00:00') |
+-----------------------------+
| 1949-10-01 |
+-----------------------------+
1 row in set (0.00 sec)
参数是时间函数
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2025-02-18 |
+-------------+
1 row in set (0.00 sec)
date_add 日期加
具体日期加时间
mysql> select date_add('2050-01-01', interval 10 day);
+-----------------------------------------+
| date_add('2050-01-01', interval 10 day) |
+-----------------------------------------+
| 2050-01-11 |
+-----------------------------------------+
1 row in set (0.00 sec)
mysql> select date_add('2050-01-01', interval 10 month);
+-------------------------------------------+
| date_add('2050-01-01', interval 10 month) |
+-------------------------------------------+
| 2050-11-01 |
+-------------------------------------------+
1 row in set (0.00 sec)
函数日期加时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2025-02-18 15:47:57 |
+---------------------+
1 row in set (0.00 sec)
mysql> select date_add(now(), interval 10 month);
+------------------------------------+
| date_add(now(), interval 10 month) |
+------------------------------------+
| 2025-12-18 15:47:59 |
+------------------------------------+
1 row in set (0.00 sec)
date_sub 日期减
具体日期减时间
mysql> select date_sub('2050-01-01', interval 10 day);
+-----------------------------------------+
| date_sub('2050-01-01', interval 10 day) |
+-----------------------------------------+
| 2049-12-22 |
+-----------------------------------------+
1 row in set (0.00 sec)
mysql> select date_sub('2050-01-01', interval 10 month);
+-------------------------------------------+
| date_sub('2050-01-01', interval 10 month) |
+-------------------------------------------+
| 2049-03-01 |
+-------------------------------------------+
1 row in set (0.00 sec)
函数日期加时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2025-02-18 15:49:50 |
+---------------------+
1 row in set (0.00 sec)
mysql> select date_sub(now(), interval 10 month);
+------------------------------------+
| date_sub(now(), interval 10 month) |
+------------------------------------+
| 2024-04-18 15:50:00 |
+------------------------------------+
1 row in set (0.00 sec)
datediff 日期差
mysql> select datediff('2020-10-23', '2013-04-13');
+--------------------------------------+
| datediff('2020-10-23', '2013-04-13')