1.基本信息
在MySQL中,DATEDIFF
是一个日期函数,用于计算两个日期之间的差距,并以指定的时间单位返回结果。其函数形式如下列代码块所示:
DATEDIFF(end_date, start_date)
end_date:表示要计算的时间段的结束日期。
start_date:表示要计算的时间段的开始日期。
注意:在MySQL中,DATEDIFF有且仅有两个参数,那就是结束时间和开始时间,不存在第一个参数为day,year这种的,那不是MySQL中的DATEDIFF函数!!!
返回值:DATEDIFF
函数返回一个整数,表示从start_date
到end_date
之间的天数差异,可以为负数。简单点来说就是前减去后,下面看一个例子:
2. 如何返回周、月、年
上面说到,DATEDIFF
函数返回一个整数,只能返回天数的差异,但是在实际的开发当中,你又不可能只返回天数,所以 这个时候我们就要适当的用向上向下取整函数以及除法来帮助我们返回年月了,先来举个例子,返回周:
可以看到结果为使用了向上取整函数后返回结果为3 ,那么具体是向上还是向下还是四舍五入,那就要看你具体的业务了,根据你具体的业务进行调整。
ROUND() 函数:用于将数值四舍五入到指定的小数位数。
FLOOR() 函数:用于将数值向下取整,去掉小数部分,保留整数部分。
CEIL() 或 CEILING() 函数:用于将数值向上取整,进位到最接近的整数。