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

결과 : 나는 현재 시간과 출력이 쿼리를 비교할 수있는 방법출력 부울 시간은 10 초 이상

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

부울 (1) UPDATE_TIME은 (이상 10 초,과 출력을 때 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