나는이 작업 ID, 유형, exec_time, END_TIME 등 일정을 저장할 작업 테이블 ... 내가 타임 스탬프와 간부/종료 시간을 얻을타임 스탬프 변환
을 예약 한.
BI 용도로 기간 (end_time - exec_time)을 계산하고 hh : mm : ss로 반환해야합니다.
exec/end_time 형식은 dd/mm/yy hh : mm : ss : miliseconds시입니다.
도와주세요. 미리 감사드립니다. 스티브
나는이 작업 ID, 유형, exec_time, END_TIME 등 일정을 저장할 작업 테이블 ... 내가 타임 스탬프와 간부/종료 시간을 얻을타임 스탬프 변환
을 예약 한.
BI 용도로 기간 (end_time - exec_time)을 계산하고 hh : mm : ss로 반환해야합니다.
exec/end_time 형식은 dd/mm/yy hh : mm : ss : miliseconds시입니다.
도와주세요. 미리 감사드립니다. 스티브
계산 된 필드를 사용하여 Tableau에서 수행 할 수 있습니다. 이것은 DBMS에서 할 수있는 것만 큼 우아하지 않을 수 있습니다. 그러나, 그것은 작동합니다
아래 내 스크린 샷에서 계산 된 필드"시간"입니다
RIGHT("0" + STR(INT(DATEDIFF("second",[Exec Time],[End Time])/60)),2)
+ ":" +
RIGHT("0" + STR(INT((DATEDIFF("second",[Exec Time],[End Time]) % 6000)/60)),2)
+ ":" +
RIGHT("0" + STR(INT((DATEDIFF("second",[Exec Time],[End Time]) % 600))),2)
:
UPDATE - 추가 코멘트 당 -
을 그것을하려면 시간 측정치 :
MAKETIME(
INT(DATEDIFF("second",[Exec Time],[End Time])/60),
INT((DATEDIFF("second",[Exec Time],[End Time]) % 6000)/60),
INT((DATEDIFF("second",[Exec Time],[End Time]) % 600))
)
추가 세부가 - 당신은 시간과 어떤 계산을하고있을 위하여려고하는 경우에 당신에게 다음 질문에`
를 해결하기 위해, 당신은 date
또는 numeric
를 사용해야합니다. 예를 들어, 관심있는 가장 작은 시간 단위가 초이므로, 시간을 초 단위로 추가하거나 제거하는 계산에는 DATEDIFF("second",[Exec Time],[End Time])
을 사용할 수 있습니다. 또는 내장 날짜 기능 DATEADD
, DATEDIFF
등을 사용하십시오.
길이를이 형식의 hh:mm:ss
으로 표시하려면 위와 같이 문자열을 만들어야합니다. 그 이유는 지속 시간이 24 시간을 초과하면 하루 종일 (이상) 통과 한 이후로 정확히 time
요소로 올바르게 표현되는 것이 아니기 때문입니다.
위의 (맨 위) 계산에서시, 분 및 초를 '0'으로 왼쪽으로 채우지 만 가장 오른쪽에있는 두 개의 문자 만 선택하십시오. 즉, 값이 한 자리 숫자 일 경우 0이 먼저 추가됩니다. 값이 이미 2 자리수 인 경우 변경되지 않습니다. 따라서 1
은 01
이되지만 13
은 13
으로 유지됩니다.
이러한 솔루션을 가지고 놀고 작동 방식을 이해할 수 있도록 테스트 해보십시오.
'exec/end_time'은 실제로 그 끝에 "시"가 있습니까? – BJones
표준 SQL에서는'end_time - exec_time'을 간단히 수행 할 수 있습니다 (두 컬럼 모두'TIMESTAMP'로 적절하게 정의 된 경우). 어떤 DBMS를 사용하고 있습니까? –
bjones, 예, 원본 소스 데이터에는 tableau가 없습니다. – Steve