>  기사  >  데이터 베이스  >  MySQL에서 TIMEDIFF 출력을 일, 시간, 분 및 초 형식으로 변환하는 방법은 무엇입니까?

MySQL에서 TIMEDIFF 출력을 일, 시간, 분 및 초 형식으로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-24 05:00:44841검색

How to Convert TIMEDIFF Output into Day, Hour, Minute, and Second Format in MySQL?

MySQL에서 TIMEDIFF 출력을 사람이 읽을 수 있는 일, 시, 분, 초 형식으로 변환

출력을 변환하는 문제에 직면 TIMEDIFF를 일, 시간, 분, 초 단위로 시간 차이를 표시하는 보다 사용자 친화적인 형식으로 변환함으로써 수많은 MySQL 사용자가 솔루션을 모색해 왔습니다. 이 문제를 해결하기 위해 제공된 쿼리를 자세히 살펴보겠습니다.

SELECT TIMEDIFF(end_time, start_time) AS "total" FROM `metrics`;

이 쿼리는 end_time에서 start_time을 쉽게 빼서 "총계" 열로 총 시간 차이를 산출합니다. 그러나 출력이 원시 형식으로 제공되므로 한눈에 해석하기가 번거롭습니다.

이를 바로잡기 위해 제안된 접근 방식은 CONCAT 기능을 활용하여 시차의 구성 부분을 인간의 형태로 연결합니다. 읽을 수 있는 문자열. 다음 SQL 문은 이 변환을 수행합니다.

SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF(end_time, start_time)) / 24), ' days ',
MOD(HOUR(TIMEDIFF(end_time, start_time)), 24), ' hours ',
MINUTE(TIMEDIFF(end_time, start_time)), ' minutes')

자리 표시자 end_time 및 start_time 값을 측정항목 테이블의 해당 열 이름으로 바꿉니다.

이 솔루션은 TIMEDIFF 결과에서 시간을 적절하게 추출하고 필요한 경우 일수로 변환합니다. 그런 다음 원하는 출력을 구성하기 위해 시간과 분을 추가합니다. 이 접근 방식은 35일 이내의 시차에 적합합니다. 더 오랜 기간이 소요되는 시나리오의 경우 TIMESTAMPDIFF를 사용하는 대체 솔루션이 더 적합할 수 있습니다.

위 내용은 MySQL에서 TIMEDIFF 출력을 일, 시간, 분 및 초 형식으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.