반응형
두 날짜 간의 시간 차이를 분 단위로 계산
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
반응형
'Development Tip' 카테고리의 다른 글
수퍼 클래스 내에서 하위 클래스 이름 가져 오기 (0) | 2020.11.07 |
---|---|
SQL Server 커서에서 여러 값 가져 오기 (0) | 2020.11.07 |
CASE 또는 IF ELSEIF가있는 MySQL select 문? (0) | 2020.11.07 |
VS2008에서 "대상 어셈블리에 서비스 유형이 없습니다"오류 메시지를 제거하려면 어떻게해야합니까? (0) | 2020.11.07 |
jQuery는 ID / 값을 얻습니다. (0) | 2020.11.07 |