MySQL计算两个日期(两个时间)相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数、分钟数、小时数、天数、周数、季度数、月数、年数,当前日期增加或者减少一天、一周等等。
SELECT TIMESTAMPDIFF(类型,开始时间,结束时间)
相差的秒数:
SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的分钟数:
SELECT TIMESTAMPDIFF(MINUTE,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的小时数:
SELECT TIMESTAMPDIFF(HOUR,'1993-03-23 00:00:00 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的天数:
SELECT TIMESTAMPDIFF(DAY,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的周数:
SELECT TIMESTAMPDIFF(WEEK,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的季度数:
SELECT TIMESTAMPDIFF(QUARTER,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的月数:
SELECT TIMESTAMPDIFF(MONTH,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
相差的年数:
SELECT TIMESTAMPDIFF(YEAR,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
获取当前日期:
SELECT NOW()
SELECT CURDATE()
当前日期增加一天:
SELECT DATE_SUB(CURDATE(),INTERVAL -1 DAY)
当前日期减少一天:
SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY)
当前日期增加一周:
SELECT DATE_SUB(CURDATE(),INTERVAL -1 WEEK)
当前日期增加一月:
SELECT DATE_SUB(CURDATE(),INTERVAL -1 MONTH)
SELECT DATE_SUB(NOW(),INTERVAL -1 MONTH)
FRAC_SECOND 毫秒
SECOND 秒
MINUTE 分钟
HOUR 小时
DAY 天
WEEK 星期
MONTH 月
QUARTER 季度
YEAR 年
例:
一、业务需求:
需要计算用户平均登录时长
二、语法介绍
1、语法:TIMESTAMPDIFF
TIMESTAMPDIFF(SECOND,start_time,end_time)
2、说明: (start_time与end_time的格式是:2021-09-01 18:50:52,)
计算start_time与end_time之间的整数差。其结果的单位由SECOND参数给出(我写的是秒)。
该参数必须是以下值的其中一个:
FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年
三、具体写法
计算出用户平均登录时长单位分保留两位小数
求和单位(秒):SECOND
时间差:TIMESTAMPDIFF
求和:SUM
保留两位小数:FORMAT
总条数:count(*)
SELECT FORMAT((SUM(TIMESTAMPDIFF(SECOND,start_time,end_time))/count(*)/60),2) tiem FROM ump_user WHERE id = '2113e4b85d38413c8eb8e8e676aff7b5'
相关推荐
-
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题2025-04-02 00:59:31 -
MySQL最常用分组聚合函数2025-04-02 00:55:56
-
NGINX: 轮询调度、加权轮询调度、平滑加权轮询调度2025-04-02 00:55:49
-
在Windows平台上安装Nginx并设置开机自动启动服务2025-04-02 00:47:04
-
PHP判断文件或者目录是否可写,兼容windows/linux系统
PHP判断文件或者目录是否可写,兼容windows/linux系统2025-04-02 00:27:54