집 >데이터 베이스 >MySQL 튜토리얼 >MySQL TIMEDIFF 결과를 일, 시, 분, 초 형식으로 변환하는 방법은 무엇입니까?
문제:
시간을 계산할 때 MySQL에서 TIMEDIFF(end_time, start_time)를 사용하여 두 날짜/시간의 차이를 계산하면 시, 분, 초를 나타내는 "116:12:10"과 같은 형식으로 결과를 반환합니다. 그러나 원하는 형식은 "4일 20시간, 12분 등"입니다.
해결책:
원하는 형식을 얻으려면 다음 쿼리를 사용할 수 있습니다. :
<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을 특정 날짜 시간으로 바꾸세요:
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')) / 24), ' days ', MOD(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), 24), ' hours ', MINUTE(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), ' minutes')</code>
참고:
이 솔루션은 35일 이내의 시차에만 적합합니다. 35일 이상의 시차가 예상된다면 대신 TIMESTAMPDIFF를 사용해 보세요.
위 내용은 MySQL TIMEDIFF 결과를 일, 시, 분, 초 형식으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!