使用timestampdiff计算平均年数

jfgube3f  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(314)

我需要计算mysql数据库的平均年数,并尝试使用timestampdiff
哪一个给出了有效的结果:

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

AVG( TIMESTAMPDIFF(YEAR, tanggal_masuk, tanggal_yudisium ) )
``` `tanggal_masuk` 以及 `tanggal_yudisium` 列是日期类型。
ars1skjm

ars1skjm1#

这两个语句都产生相同的结果。这取决于你。

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
qv7cva1a

qv7cva1a2#

这取决于你希望你的最终结果有多准确。使用 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 将给出更准确的结果。

相关问题