나는 다음과 같은 쿼리가 :는 MySQL의 20에서 하나 잘못 timediff를 줄 권리
SELECT `Time`,
`Resolution`,
HOUR(TIMEDIFF(`Resolution`,`Time`)),
TIMEDIFF(`Resolution`,`Time`),
datediff(`Resolution`,`Time`)
FROM Cases;
디버깅하기 위해, 나는 결과가 다른 경우 바로보고, 전에 시간없이 TIMEDIFF를 추가합니다. 나는 더블 체크를하기 위해 datediff를 사용한다.
쿼리의 결과는 다음과 같습니다 사실
+---------------------+---------------------+-------------------------------------+-------------------------------+-------------------------------+
| Time | Resolution | HOUR(TIMEDIFF(`Resolution`,`Time`)) | TIMEDIFF(`Resolution`,`Time`) | datediff(`Resolution`,`Time`) |
+---------------------+---------------------+-------------------------------------+-------------------------------+-------------------------------+
| 2017-01-10 13:35:00 | 2017-01-24 10:52:00 | 333 | 333:17:00 | 14 |
| 2017-01-12 15:53:00 | 2017-02-21 16:06:00 | 838 | 838:59:59 | 40 |
| 2017-01-18 09:19:00 | 2017-01-18 13:39:00 | 4 | 04:20:00 | 0 |
| 2017-01-23 09:00:00 | 2017-01-23 15:08:00 | 6 | 06:08:00 | 0 |
| 2017-01-24 08:49:00 | 2017-02-20 14:34:00 | 653 | 653:45:00 | 27 |
, 더 라인을 제공하지만, 해당 줄은이 결과 - 838시간, 34.91 일 번역,의 35 말을 할 수 있지만, DATEDIFF 40 점을주고 계산을하면 40 일입니다! 012 월 2 일부터 12 월 21 일까지
기타 21 개 결과는 모두 맞습니다.
왜 그런가? mysql의 버그? 모든 답변을 매우 높이 평가합니다.
정말 고마워요. 도움이되었습니다. – Slarti42
문제가 해결 되었다면 체크 표시를 클릭하여 답변을 수락하십시오 :) – inarilo
done, thanks again. – Slarti42