10

2 人のユーザーの時差を取得しようとしています。時間の差が必要です。

DATEDIFF 関数を使用しようとしましたが、間違っています。

これが私のコードです:

SELECT DATEDIFF(*,  
(SELECT max(u1.time_c)
FROM users u)
,
(SELECT max(u2.time_c)
FROM users u2) 
4

2 に答える 2

16

MySQL DATEDIFF ドキュメントから:

Only the date parts of the values are used in the calculation.

あなたは見たいと思うでしょうTIMEDIFF

これにより、時間の差の時間数が得られます(time_cフィールドがDATETIMEまたは同様のものであると仮定します)

SELECT HOUR(TIMEDIFF(  
  (SELECT max(u1.time_c) FROM users u),
  (SELECT max(u2.time_c) FROM users u2)
)) 
于 2012-06-07T06:37:28.227 に答える
3

fromselect ステートメントに句が必要です。何かのようなもの

Select date1 - date2 from dual

date1 と date2 の間の日数を返します。

時間数が必要な場合:

Select (date1 - date2)*24 from dual;

(これはオラクル専用です)

于 2012-06-07T06:39:13.163 に答える