使用TIMESTAMPDIFF计算平均年数

时间:2019-01-07 09:02:30

标签: mysql timestampdiff

我需要从我的MySQL数据库计算平均年数,然后尝试使用TIMESTAMPDIFF

哪个给出有效的结果:

AVG( TIMESTAMPDIFF(MONTH, tanggal_masuk, tanggal_yudisium )/12 )

AVG( TIMESTAMPDIFF(YEAR, tanggal_masuk, tanggal_yudisium ) )

tanggal_masuktanggal_yudisium列是DATE类型。

2 个答案:

答案 0 :(得分:1)

这取决于您希望最终结果的准确性。将TIMESTAMPDIFFMONTH一起使用并除以12将得到浮点结果(例如0.5年),而与YEAR一起使用将仅得到整数(例如TIMESTAMPDIFF(YEAR, '2018-09-01', '2018-01-10')为0),其中TIMESTAMPDIFF(MONTH, '2018-09-01', '2018-01-10') / 12给出-0.5833。总体而言,使用MONTH会得到更准确的结果。

答案 1 :(得分:0)

这些语句都产生相同的结果。由您决定。

select ABS(TIMESTAMPDIFF(MONTH, '2018-01-01', '2010-01-01') / 12); --Result 8

select ABS(TIMESTAMPDIFF(YEAR, '2018-01-01', '2010-01-01') )   --Result 8