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 중국어 웹사이트의 기타 관련 기사를 참조하세요!