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

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

DDD
DDD원래의
2024-10-24 02:03:02873검색

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

시간 차이 출력을 일, 시, 분, 초 형식으로 변환

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

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