Рассчитать среднее количество лет с TIMESTAMPDIFF - PullRequest
0 голосов
/ 07 января 2019

Мне нужно вычислить среднее количество лет из моей базы данных MySQL, и я пытаюсь использовать TIMESTAMPDIFF

Какой из них дает действительный результат:

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

или

AVG( TIMESTAMPDIFF(YEAR, tanggal_masuk, tanggal_yudisium ) )

tanggal_masuk и tanggal_yudisium столбцы типа DATE.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Зависит от того, насколько точным будет ваш конечный результат. Использование TIMESTAMPDIFF с MONTH и деление на 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 даст более точные результаты.

0 голосов
/ 07 января 2019

Оба этих утверждения дают одинаковый результат. Это зависит от вас.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...