0
을 나는 세 가지 행동: MM : SS 형식
Production stop & Production start in hh:mm:ss format
Quality stop and quality start in hh:mm:ss format
shipping stop and shipping start in hh:mm:ss format
내가 HH에 일부 세 시간 차이로 원하는에게 다음 사이의 시간 차이를 계산하고, 상기 쿼리를 가지고 : mm를 : ss 형식. SQL 쿼리에서 어떻게 그 일을합니까?
MY 쿼리는 다음과 같습니다 :
SELECT
L.LOT_ID ,
L.LOT_ID_RECORD,
L.MAT_ID
L.QUANTITY
CONVERT(VARCHAR,LR.DT_PRODUCT_START,120) AS PRODUCTION_START,
ISNULL(CONVERT(VARCHAR,LR.DT_PRODUCT_ED,120) , 'NA') AS PRODUCTION_STOP,
convert(varchar(5),DateDiff(s, LR.DT_PRODUCT_START, LR.DT_PRODUCT_END)/3600)+':'+convert(varchar(5),DateDiff(s, LR.DT_PRODUCT_START, LR.DT_PRODUCT_END)%3600/60)+':'+convert(varchar(5),(DateDiff(s, LR.DT_PRODUCT_START, LR.DT_PRODUCT_END)%60)) as PRODUCTION_TIME,
CONVERT(VARCHAR,QC.QC_START,120) AS QC_START,
CONVERT(VARCHAR,QC.QC_CLOSE,120) AS QC_CLOSE,
convert(varchar(5),DateDiff(s, QC.QC_START ,QC.QC_CLOSE)/3600)+':'+convert(varchar(5),DateDiff(s, QC.QC_START , QC.QC_CLOSE)%3600/60)+':'+convert(varchar(5),(DateDiff(s, QC.QC_START,QC.QC_CLOSE)%60)) as QUALITY_TIME,
convert(varchar(5),DateDiff(s, S.SHIPPING_START, S.SHIPPING_CLOSE)/3600)+':'+convert(varchar(5),DateDiff(s, S.SHIPPING_START, S.SHIPPING_CLOSE)%3600/60)+':'+convert(varchar(5),(DateDiff(s, S.SHIPPING_START, S.SHIPPING_CLOSE)%60)) as SHIPPING_TIME
FROM XYZ
나는 PRODUCTION_TIME , QUALITY_TIME and SHIPPING_TIME
을 합계를하고 그 결과 hh:mm:ss
형식이어야합니다.
어떻게 달성 할 수 있을지 모르겠습니다. 좀 도와 줄 수있어?
감사합니다.
아마도 CAST (DATEADD (SECOND, SUM (stuff), 0) AS TIME (0))'과 같은 것입니다. 편집 :이 경우, "물건"당신이 합계하려는 것들 각각에 대한 귀하의 datediff (두 번째, ...) 값이 될 것입니다. – ZLK
결과가 24 시간을 초과하면 어떻게됩니까? –
그 중 3 번이 필요합니다. 결과 합계가 24 시간을 초과하는 경우 중요하지 않습니다. 28:50:33처럼 –