집 >데이터 베이스 >MySQL 튜토리얼 >MySQL TIMEDIFF 출력을 일, 시, 분, 초 형식으로 변환하는 방법은 무엇입니까?
시간 차이 출력을 일, 시, 분, 초 형식으로 변환
MySQL의 TIMEDIFF 함수를 사용하여 두 시간 값의 차이를 계산할 때, 시간, 분, 초 형식으로 결과를 얻을 수 있습니다. 그러나 일, 시간, 분, 초를 표시하는 등 이 출력을 보다 사용자 친화적인 방식으로 표시해야 하는 경우가 있을 수 있습니다.
다음 쿼리를 고려하세요.
<code class="sql">SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;</code>
end_time 및 start_time 열에 '2023-03-08 12:34:56' 및 '2023-03-04 15:12:34'와 같은 값이 포함된 경우 쿼리는 시차를 다음과 같이 반환합니다. '105:08:22'. 이는 105시간 8분 22초의 총 지속 시간을 표시하지만 사용자에게 가장 편리한 표현은 아닐 수 있습니다.
이 출력을 사람이 더 읽기 쉬운 형식으로 변환하려면 다음을 사용할 수 있습니다. 다음 접근 방식:
<code class="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')</code>
end_time 및 start_time을 쿼리의 특정 열로 바꾸세요. 출력은 '일 시 분' 형식입니다. 예를 들어 '105:08:22'의 시차는 '4일 9시간 8분'으로 표시됩니다.
이 방법은 35분 이내의 시차에만 적용할 수 있다는 점에 유의하세요. 날. 한 달 이상 시차가 발생하는 경우 TIMESTAMPDIFF()를 사용하는 등의 대체 접근 방식이 더 적절할 수 있습니다.
위 내용은 MySQL TIMEDIFF 출력을 일, 시, 분, 초 형식으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!