[SQL] SQL을 사용하여 입력 한 시간의 합을 계산
SQLSQL을 사용하여 입력 한 시간의 합을 계산
HH :이 형식을 가진 "시간이 소비"라는 내 콜론의 시간의 합계를 계산하는 방법 mm를 SQL에서? 내가 MySQL을 사용하고 있습니다.
내 칼럼의 유형은 시간입니다.
이는이 구조가
TimeFrom like 10:00:00 12:00:00 02:00:00 TimeUntil 08:00:00 09:15:00 01:15:00 Time spent total time 03:15:00
해결법
-
==============================
1.
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `timeSpent` ) ) ) AS timeSum FROM YourTableName
이것은 나를 위해 일했다. 도움이 되었기를 바랍니다.
-
==============================
2.MYSQL 데이터베이스에서 시간의 합계를 얻기 위해 작업 코드 : 100 %
MYSQL 데이터베이스에서 시간의 합계를 얻기 위해 작업 코드 : 100 %
SELECT SEC_TO_TIME( SUM(time_to_sec(`db`.`tablename`))) As timeSum FROM `tablename`
시도하고 확인. 감사.
-
==============================
3.timeSpent 컬럼의 데이터 유형은 TIME 인 경우 다음과 같은 쿼리를 사용할 수 있어야합니다 :
timeSpent 컬럼의 데이터 유형은 TIME 인 경우 다음과 같은 쿼리를 사용할 수 있어야합니다 :
SELECT SUM(timeSpent) FROM YourTableName -- replace YourTableName with the actual table name
그런 경우가 아닌 경우, 당신은 시간 데이터 형식으로 변환하는 캐스트를 사용 할 수 있습니다. 이런 식으로 뭔가 작업을해야합니다 :
SELECT SUM(timeSpent - CAST('0:0:0' as TIME)) FROM YourTableName -- replace YourTableName with the actual table name
-
==============================
4.MySQL은, 당신은 시간 간격을 얻기 위해 이런 짓을 할 것이다 :
MySQL은, 당신은 시간 간격을 얻기 위해 이런 짓을 할 것이다 :
SELECT TIMEDIFF('08:00:00', '10:00:00');
그런 다음 시간 간격을 추가, 당신은 할 것이다 :
SELECT ADDTIME('01:00:00', '01:30:00');
당신의 TimeUntil 실제로 TimeFrom보다 낮은 때문에 이러한 계산이 잘못 결국 그렇게 불행하게도, 당신은, 날짜를 저장하거나 24 시간을 사용하지 않는 것입니다.
또 다른 방법은 () TIMESTAMPDIFF를 사용 초로 시간 간격을 저장하기 위해 (위의 문제를 밖으로 정렬 가정) 될 것이다 :
UPDATE my_table SET time_spent=TIMESTAMPDIFF(start, end)); SELECT SEC_TO_TIME(SUM(time_spent)) FROM my_table;
from https://stackoverflow.com/questions/3054123/calculate-a-sum-of-type-time-using-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 동일한 SQL 문에 여러 테이블에서 삭제할 수 있습니까? (0) | 2020.04.16 |
---|---|
[SQL] 텍스트, ntext 및 화상 데이터> 유형 비교할 수없는 또는 IS NULL 또는 LIKE> 연산자를 사용하는 경우를 제외하고, 정렬 (0) | 2020.04.15 |
[SQL] SQL Server의 임시 테이블의 범위 (0) | 2020.04.15 |
[SQL] 쉼표로 구분 된 데이터 열을 조인 (0) | 2020.04.15 |
[SQL] 예외 : SQLException : 문자열 또는 이진 데이터는 잘립니다 (0) | 2020.04.15 |