2016-07-14 6 views
1
SELECT update_time FROM data order by update_time desc limit 1 

結果であるとき:出力ブール時間は10秒以上

'2016-07-14 11:25:15' 

は、どのように私は(UPDATE_TIMEが10秒以上であるとき、ブール(1)現在の時刻と出力とこのクエリを比較し、出力でき0)10秒以内であれば?

+0

あなたは "CASE" を使用することができます。 –

答えて

1

あなたはこれを好きに試すことができます。

select CASE WHEN TIME_TO_SEC(TIMEDIFF(NOW(), update_time)) > 10 
     THEN 1 
     ELSE 0 
     END 
FROM data order by update_time desc limit 1 
+0

私は彼が時間の値が10より大きいときに意味すると思う、E.G. 「10:20:12」は「12:24:05」ではありません。 – sagi

+0

@sagi:私は混乱しましたが、「出力時間が10秒を超えると出力ブール値を返します」 –

+1

比較は「1」または「0」を返すので、「CASE」を使用する必要はありません。 –

0

トライケースのとき:

SELECT CASE 
     WHEN update_time > Date_add(CURRENT_TIMESTAMP, INTERVAL 10 second) THEN 
     true 
     ELSE false 
     end 
FROM data 
ORDER BY update_time DESC 
LIMIT 1 
関連する問題