mysql如何使用time函数处理时间

来源:这里教程网 时间:2026-02-28 20:14:42 作者:

在MySQL中,TIME 相关函数用于处理时间类型数据,比如提取时间部分、格式化时间、计算时间差等。下面介绍几个常用的时间处理函数及其使用方法。

1. TIME() 函数:提取时间部分

从日期时间值中提取出时间部分(时:分:秒)。

SELECT TIME('2024-05-20 14:30:25'); -- 返回 14:30:25

常用于 datetime 或 timestamp 字段,只保留时间。

2. CURTIME():获取当前时间

返回当前系统的时间,不包含日期。

SELECT CURTIME(); -- 如:15:22:30

也可以用 CURRENT_TIME(),效果相同。

3. TIMEDIFF():计算两个时间的差值

返回两个时间之间的差,结果为 TIME 类型。

SELECT TIMEDIFF('15:30:00', '10:15:00'); -- 返回 05:15:00

注意:两个参数必须都是时间或日期时间格式。

4. ADDTIME() 和 SUBTIME():时间加减操作

对时间进行加法或减法运算。

SELECT ADDTIME('09:00:00', '02:30:00'); -- 返回 11:30:00 SELECT SUBTIME('18:00:00', '03:15:30'); -- 返回 14:44:30

可用于计算工作时长、会议结束时间等场景。

5. TIME_FORMAT():格式化时间输出

按指定格式显示时间,类似 DATE_FORMAT(),但专用于时间。

SELECT TIME_FORMAT('14:35:20', '%h:%i %p'); -- 返回 02:35 PM

常用格式符:

%H:小时(24小时制) %h:小时(12小时制) %i:分钟 %s:秒 %p:AM 或 PM

6. HOUR(), MINUTE(), SECOND():提取时间单位

分别提取小时、分钟、秒。

SELECT HOUR('14:30:25'); -- 返回 14 SELECT MINUTE('14:30:25'); -- 返回 30 SELECT SECOND('14:30:25'); -- 返回 25

这些函数在处理打卡记录、服务时长统计、定时任务调度等场景非常实用。

基本上就这些,掌握这几个函数就能灵活处理 MySQL 中的时间数据了。

相关推荐