を1間違ったtimediffを与える:デバッグするためにmysqlのは、私は次のクエリ持っている20のうち、右
SELECT `Time`,
`Resolution`,
HOUR(TIMEDIFF(`Resolution`,`Time`)),
TIMEDIFF(`Resolution`,`Time`),
datediff(`Resolution`,`Time`)
FROM Cases;
を、私は結果が異なる場合だけ見るために、前HOURなし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 |
実際には、より多くのラインを提供しますが、該当する行が2の結果である - 838時間、34.91日に変換、のは、35を言わせますが、DATEDIFF 40を与え、あなたが自分で計算するときは40日です! 12月1日〜2月21日
その他の21件の検索結果はすべて正確です。
理由は何ですか? mysqlのバグ? すべての回答が高く評価されています。
ありがとうございます。それが助けになりました。 – Slarti42
これで問題が解決した場合は、チェックマークをクリックして回答を受け入れてください:) – inarilo
done、thanks again。 – Slarti42