Development Tip

두 날짜 간의 시간 차이를 분 단위로 계산

yourdevel 2020. 11. 7. 10:37
반응형

두 날짜 간의 시간 차이를 분 단위로 계산


DATE내 빈 데이터 유형에 매핑되는 MySQL 데이터베이스에 타임 스탬프 필드가 있습니다 . 이제 현재 타임 스탬프와 데이터베이스에 저장된 타임 스탬프의 차이가> 20 분인 데이터베이스의 모든 레코드를 가져올 수있는 쿼리를 원합니다.

어떻게하니?

내가 원하는 것은 :

SELECT * FROM MyTab T WHERE T.runTime - now > 20 minutes

이것에 대한 MySQL 함수가 있습니까, 아니면 SQL에서 이것을 수행하는 방법이 있습니까?


TIMESTAMPDIFF (unit, datetime_expr1, datetime_expr2) 다음과 같이 사용할 수 있다고 생각합니다.

select * from MyTab T where
TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20

ROUND(time_to_sec((TIMEDIFF(NOW(), "2015-06-10 20:15:00"))) / 60);

이걸로 해봐:

select * from MyTab T where date_add(T.runTime, INTERVAL 20 MINUTE) < NOW()

참고 : 이것은 MySQL DateTime 형식을 사용하는 경우 작동합니다. Unix Timestamp (정수)를 사용하는 경우 더 쉬울 것입니다.

select * from MyTab T where UNIX_TIMESTAMP() - T.runTime > 20*60

UNIX_TIMESTAMP () 함수는 현재 유닉스 타임 스탬프를 반환합니다.


오늘과 데이터베이스 날짜에 대해 아래 코드를 사용하고 있습니다.

TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20

여기 에서 필요한 경우 MINUTE 대신 HOUR (시간), DAY (일)를 사용할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/7636599/calculating-time-difference-between-2-dates-in-minutes

반응형