TIME()提取时间部分,如TIME(‘2024-05-20 14:30:25’)返回14:30:25;2. CURTIME()获取当前系统时间;3. TIMEDIFF()计算两时间差值;4. ADDTIME()/SUBTIME()进行时间加减;5. TIME_FORMAT()按格式输出时间;6. HOUR()/MINUTE()/SECOND()提取时分秒。
在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 中的时间数据了。