-1
SELECT ETA,STA FROM `Schedule` WHERE `Num`="5567";

2013-08-26 18:37:00 2013-08-26 18:30:00

SELECT DATEDIFF(ETA,STA) FROM `Schedule` WHERE `Num`="5567";

0

結果が 7 (分) ではなく 0 になるのはなぜですか?

4

5 に答える 5

1

DATEDIFF は日数で結果を返します。

SELECT HOUR (ETA - STA) FROM `Schedule` WHERE `Num`="5567";

時差の代替。

于 2013-08-26T11:24:38.087 に答える
1

TIME_TO_SECMySQL関数を使用してこれを行うことができます。

サンプル

SELECT (TIME_TO_SEC(ETA) - TIME_TO_SEC(STA))/60 AS `minutes` 
于 2013-08-26T11:22:19.727 に答える
0

TIMEDIFF 関数を使用する

SELECT TIMEDIFF(ETA,STA) FROM `Schedule` WHERE `Num`="5567";
于 2013-08-26T11:23:07.577 に答える
0

分単位の差を計算する方法については、このスレッドを参照してください: 2 つの日付間の時間差を分単位で計算する

DATEDIFF差額を日数で返します!

ドキュメントから: DATEDIFF() は、ある日付から別の日付までの日数で表される expr1 – expr2 を返します。expr1 と expr2 は、日付または日付と時刻の式です。値の日付部分のみが計算に使用されます。

mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
    -> 1
于 2013-08-26T11:23:45.327 に答える
0

SELECT (TIMEDIFF(ETA,STA)) FROM SCHEDULE は、フォーマットされた分でそれを与え、 00:07:00 を返します

SELECT TIME_TO_MIN(TIMEDIFF(ETA,STA)) FROM SCHEDULE は 420 を返します

(7 * 60 秒 = 420)

于 2013-08-26T11:36:27.670 に答える