MySQL实现时间差计算的实现方式

该博客介绍如何在MySQL中计算道路竣工时间与当前时间的时间差,并根据时间差进行路龄分类。通过使用TIMESTAMPDIFF函数结合CASE语句,可以计算路龄并将其划分到不同的类别中。
摘要由CSDN通过智能技术生成

sql需求:计算路龄并判断属于哪一类路龄,需要用当前时间减去道路竣工时间,利用日期函数计算时间差。
在这里插入图片描述
利用函数计算2个时间的时间差:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
interval参数的取值范围:
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
例:查询当前时间减去创建时间
CURDATE()取当前时间,被减去的时间为数据库字段construction_end_time

SELECT TIMESTAMPDIFF(MONTH,a.construction_end_time,CURDATE())
FROM base_road_construction_year a where a.del_flag = 0;

最终需求sql:
select ed.value 路龄类型,SUM(t.length) 路龄长度,ed.first_diff firstDiff,ed.second_diff secondDiff from
(select (a.pile_end-a.pile_start) length,
case when (TIMESTAMPDIFF(MONTH,a.construction_end_time,CURDATE())/12) = 0 then -1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值