2

私はこれを試しています

SELECT DATEDIFF(second,log.start_time,log.end_time) 
as seconds 
from log 
where log.log_id = "some crazy UUID";

DATEDIFF()しかし、 secondのようなフォーマッターexprを受け入れない ため、エラーが発生します。

だから私は試しました、

SELECT second(DATEDIFF(second,log.start_time,log.end_time)) 
as seconds 
from log
where log.log_id = "some crazy UUID";

しかし、それはフォーマットにも機能しません。

4

5 に答える 5

6

私はあなたがTIMESTAMPDIFF()代わりに使うつもりだったと思いますDATEDIFF()

SELECT TIMESTAMPDIFF(second,log.start_time,log.end_time) as seconds 
from log 
where log.log_id = "some crazy UUID";
于 2011-03-16T16:02:33.753 に答える
3

これを試して

SELECT TIME_TO_SEC( TIMEDIFF( log.start_time, log.end_time )) AS seconds
FROM log 
WHERE log.log_id = "some crazy UUID";
于 2011-03-16T15:58:19.643 に答える
2

DATEDIFF()差の日数を返します。

)を使用して両方のタイムスタンプを使用TIMEDIFF()または変換し、TO_SECONDS()それらの違いを取得します。

SELECT TO_SECONDS(log.end_time) - TO_SECONDS(log.start_time) AS seconds
  FROM log 
  WHERE log.log_id = "some crazy UUID"
;
于 2011-03-16T15:58:52.933 に答える
2

DATEDIFFは2つのパラメーターのみを受け入れ、ここでは3つのパラメーターを渡します。

それがどのように機能するか、そしてまたそれは時間を含まないb/w日付の違いだけを返します。

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

于 2011-03-16T15:59:13.727 に答える
1

DATEDIFF

msdnから、指定された開始日と終了日の間で交差した指定された日付部分の境界のカウント(符号付き整数)を返します。このDATEDIFF()関数は、2つの日付の間の時間を返します。構文:

DATEDIFF ( datepart , startdate , enddate )  

TIMEDIFF()またはTIMESTAMPDIFF()機能する必要があります。関数を次のように
置き換えるだけですTIMESTAMPDIFF()DATEFDIFF()

于 2011-03-16T16:12:32.960 に答える