mysql计算两个时间的时间差

mysql计算两个时间的时间差

码农世界 2024-06-06 后端 106 次浏览 0个评论

业务场景:

> 查询某一时间段内的数据。

应用

统计这个范围成立日期至今天,1年以内、1年以上5年以内、5年以上的客户数分别是多少,以及成立日期为空的客户数
 select
		'1年以内' as category,
	    count(*) as quantity
	    from
	    CUSTOMER
	    where TIMESTAMPDIFF(year,START_DATE, now()) <= 1
    union 
	select
		'1到5年' as category,
	    count(*) as quantity
	    from
	    CUSTOMER
	    where TIMESTAMPDIFF(year,START_DATE, now()) > 1 and TIMESTAMPDIFF(year,START_DATE, now()) < 6
    union 
    select
		'5年以上' as category,
	    count(*) as quantity
	    from
	    CUSTOMER
	    where TIMESTAMPDIFF(year,START_DATE, now()) > 5
    union
	select
		'成立日期为空' as category,
	    count(*) as quantity
	    from
	    CUSTOMER 
	    where isnull(START_DATE) 

运行结果

mysql计算两个时间的时间差

知识点:

**

1、TIMESTAMPDIFF(unit,begin,end) 函数

TIMESTAMPDIFF函数是MySQL中的一个函数,用于计算两个日期或时间之间的差值。它的语法结构为:TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)。

其中,unit是表示时间单位的参数,可以是以下值之一:

  • MICROSECOND:微秒
  • SECOND:秒
  • MINUTE:分钟
  • HOUR:小时
  • DAY:天
  • WEEK:周
  • MONTH:月
  • QUARTER:季度
  • YEAR:年

    datetime_expr1和datetime_expr2是表示日期或时间的表达式,可以是具体的日期或时间值,也可以是列名或函数返回的值。

    下面是一个使用TIMESTAMPDIFF函数的示例:

    SELECT TIMESTAMPDIFF(DAY, '2024-01-01', '2024-01-18') day;
    

    运行结果

    mysql计算两个时间的时间差

    这个示例计算了从2024年1月1日到2024年1月18日之间的天数差值,结果为17。

    另外,TIMESTAMPDIFF函数还支持混合类型的参数,即datetime_expr1和datetime_expr2可以是不同的类型,例如一个是日期,一个是时间。

    2、TIMEDIFF(dt1, dt2)

    TIMEDIFF(dt1, dt2):计算两个TIME或DATETIME值之间的差值,两个必须为相同类型的参数,即TIME或DATETIME。 TIMEDIFF函数返回表示为时间值的dt1 - dt2的结果

    SELECT TIMEDIFF('12:00:00', '15:00:00') timeDiff;
    

    运行结果

    mysql计算两个时间的时间差

    如果任一参数为NULL,TIMEDIFF函数将返回NULL

    SELECT TIMEDIFF('12:00:00', null) timeDiff;
    

    运行结果

    mysql计算两个时间的时间差

转载请注明来自码农世界,本文标题:《mysql计算两个时间的时间差》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,106人围观)参与讨论

还没有评论,来说两句吧...

Top