SQL以hh:mm:ss格式计算Total的查询



我有一个查询,其中我计算以下三个动作之间的时差

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查询?

我的查询如下:

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格式。

我不知道如何做到这一点?你能帮帮我吗?

问候!

您发布的查询似乎是不完整的。恕我直言,最好的解决方法是将三个字段转换为秒,然后将它们相加。最后将秒重新转换为HH:MM:SS。

最新更新