MySQL计算两个日期(两个时间)相差的天数、月数、年数

MySQL计算两个日期(两个时间)相差的天数、月数、年数MySQL 自带的日期函数 TIMESTAMPDIF 计算两个日期相差的秒数 分钟数 小时数 天数 周数 季度数 月数 年数 当前日期增加或者减少一天 一周等等

大家好,欢迎来到IT知识分享网。

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’

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/181272.html

(0)
上一篇 2025-06-19 13:20
下一篇 2025-06-19 13:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信