MySQL의 두 시간 필드와의 차이(분)
MySQL 데이터베이스를 'time' 필드로 설정했습니다.
HH가 아닙니다.전통적인 의미의 MM은 이벤트가 발생한 시간이기 때문에 5:45의 값을 가진 이벤트가 경기 시작 5분 45초를 남겨두고 발생한 것입니다.12분 25초를 남겨두고 12:25가 발생하였습니다.
총 경과시간을 알 수 있으면 좋으니 12시 25분에 발생한 이벤트와 다음 이벤트가 5시 45분에 발생한 경우 차액인 6시 40분을 알 수 있으면 좋겠습니다.그럼 소수점, 이 경우는 6.67로 표현하겠습니다.
이게 가능합니까?
잘 부탁드립니다.
저는 이 방법이 효과가 있었습니다.
TIMESTAMPDIFF(MINUTE, T0.created, T0.modified)
참고 자료: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_timestampdiff
그냥 사용하다
TIMEDIFF(fromtime, totime):
SELECT TIMEDIFF("12:25", "5:45");
소수점이 필요한 경우 다음을 사용하십시오.TIME_TO_SEC()/3600
(초수를 넘겼다고 가정하지만 시간을 저장하는 형식이 모호하여 SQL에서는 HH로 해석할 수 있습니다.MM - 이 문제를 해결할 수 있습니다.CONCAT("00:",MinuteSecondField)
아마도?) - 그럼 사용할 수 있습니다.TIME_TO_SEC()/60
(어느쪽이 더 맞습니까?
나도 비슷한 게 필요했어.두 가지 유용한 기능:TIME_TO_SEC 및 SUBTIME.
예: 시간 필드가 일반 HH인 경우:그럼 MM회
SELECT (TIME_TO_SEC(end_time) - TIME_TO_SEC(start_time))/60 AS `minutes`
당신의 경우, 제가 이해하기로는, 시대가 거꾸로 되어 있습니다. 12:00<6:00
따라서 end_time과 start_time을 교환해야 합니다.
출력을 HH로 하고 싶은 경우:할 수 있는 SS
SELECT SUBTIME(end_time, start_time)
UNIX_TIMESTamp(event1)-UNIX_TIMESTamp(event2)를 사용했습니다.이것에 의해, 이벤트의 간격을 초단위로 설정할 수 있습니다.60.0으로 나누면 요구에 따라 소수점이 나옵니다.이 솔루션에서는 열이 날짜 호환 값이라고 가정합니다.TIMESTAMP일 경우 매우 빠르게 동작합니다.
업데이트: 이 솔루션은 타임스탬프 데이터 유형에서만 작동하며, 원래 질문에서와 같은 시간 데이터 유형은 작동하지 않습니다.
언급URL : https://stackoverflow.com/questions/5070111/difference-in-minutes-from-two-time-fields-in-mysql
'source' 카테고리의 다른 글
Class 파일의 바이트 코드를 볼 수 있나요? (0) | 2022.10.20 |
---|---|
Rails 5 커스텀 데이터베이스 타입GIS + Maria의 경우DB (0) | 2022.10.20 |
최신 브라우저에서 페이지 확대/축소 수준을 감지하려면 어떻게 해야 합니까? (0) | 2022.10.20 |
MySQL 쿼리 / 절 실행 순서 (0) | 2022.10.20 |
연결 배열 키 목록을 가져오는 중 (0) | 2022.10.20 |