Mysql内置函数-时间处理函数

时间处理函数

系统获取

CurDate() 返回当前日期

select CurDate();
+------------+
| CurDate()  |
+------------+
| 2024-10-22 |
+------------+
1 row in set (0.00 sec)

CurTime() 返回当前时间

select CurTime();
+-----------+
| CurTime() |
+-----------+
| 05:18:16  |
+-----------+
1 row in set (0.00 sec)

Now() 返回当前日期+时间

select NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2024-10-22 05:36:34 |
+---------------------+
1 row in set (0.00 sec)

时间计算

DateDiff(str,str) 计算日期差值

select Datediff('2024-10-11','2024-10-01');
+-------------------------------------+
| Datediff('2024-10-11','2024-10-01') |
+-------------------------------------+
|                                  10 |
+-------------------------------------+
1 row in set (0.00 sec)

Date_Add(str,INTERVAL ±num DAY)

select date_add('2022-03-23',INTERVAL 7 DAY);
+---------------------------------------+
| date_add('2022-03-23',INTERVAL 7 DAY) |
+---------------------------------------+
| 2022-03-30                            |
+---------------------------------------+
1 row in set (0.00 sec)

select date_add('2022-03-23',INTERVAL -7 DAY);
+----------------------------------------+
| date_add('2022-03-23',INTERVAL -7 DAY) |
+----------------------------------------+
| 2022-03-16                             |
+----------------------------------------+
1 row in set (0.00 sec)

AddDate(str,num) 增加天

select ADDDATE(CURDATE(),20);
+-----------------------+
| ADDDATE(CURDATE(),20) |
+-----------------------+
| 2024-11-11            |
+-----------------------+
1 row in set (0.00 sec)

mysql> select ADDDATE(NOW(),20);
+---------------------+
| ADDDATE(NOW(),20)   |
+---------------------+
| 2024-11-11 05:41:54 |
+---------------------+
1 row in set (0.00 sec)

AddTime(str,num) 增加小时

select ADDTIME(NOW(),20);
+---------------------+
| ADDTIME(NOW(),20)   |
+---------------------+
| 2024-10-22 05:42:40 |
+---------------------+
1 row in set (0.00 sec)

mysql> select ADDTIME(CURDATE(),20);
+-----------------------+
| ADDTIME(CURDATE(),20) |
+-----------------------+
| 2024-10-22 00:00:20   |
+-----------------------+
1 row in set (0.00 sec)

Date_Format(str,format) 日期格式化

select date_format('2022-03-23',"%Y/%m/%d");
+--------------------------------------+
| date_format('2022-03-23',"%Y/%m/%d") |
+--------------------------------------+
| 2022/03/23                           |
+--------------------------------------+
1 row in set (0.00 sec)

从col或字符串获取

Date(str) 返回时间的日期部分

select Date('2024-10-11:10:01:01');
+-----------------------------+
| Date('2024-10-11:10:01:01') |
+-----------------------------+
| 2024-10-11                  |
+-----------------------------+
1 row in set, 1 warning (0.00 sec)

Day(str) 返回日期的天

date的格式全部兼容

select day('20240102');
+-----------------+
| day('20240102') |
+-----------------+
|               2 |
+-----------------+
1 row in set (0.00 sec)

Dayofweek(str) 返回星期几

select dayofweek('20240102');
+-----------------------+
| dayofweek('20240102') |
+-----------------------+
|                     3 |
+-----------------------+
1 row in set (0.00 sec)

Hour(str) 返回小时

格式兼容有限’2023-10-11 05:33:46’,05:33:46

select curtime();
+-----------+
| curtime() |
+-----------+
| 05:33:46  |
+-----------+
1 row in set (0.00 sec)

mysql> select hour(curtime());
+-----------------+
| hour(curtime()) |
+-----------------+
|               5 |
+-----------------+
1 row in set (0.00 sec)

select hour('2023-10-11 05:33:46');
+-----------------------------+
| hour('2023-10-11 05:33:46') |
+-----------------------------+
|                           5 |
+-----------------------------+
1 row in set (0.00 sec)

Minute(str) 返回分钟部分

select MINUTE('2023-10-11 05:33:46');
+-------------------------------+
| MINUTE('2023-10-11 05:33:46') |
+-------------------------------+
|                            33 |
+-------------------------------+

Month(str) 返回月部分

select MONTH('2023-10-11 05:33:46');
+------------------------------+
| MONTH('2023-10-11 05:33:46') |
+------------------------------+
|                           10 |
+------------------------------+
1 row in set (0.00 sec)

Second(str) 返回时间的秒部分

select SECOND(NOW());
+---------------+
| SECOND(NOW()) |
+---------------+
|            55 |
+---------------+

Time(str) 返回时间部分

select TIME(NOW());
+-------------+
| TIME(NOW()) |
+-------------+
| 05:37:16    |
+-------------+

Year(str) 返回年部分

select YEAR(NOW());
+-------------+
| YEAR(NOW()) |
+-------------+
|        2024 |
+-------------+
1 row in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值