一个工件可以从CNC机器取得加工开始时间和结束时间。现在需要计算它的加工时间。
数据样版:
SELECT [工件编号],[加工开始时间],[加工结束时间] FROM [dbo].[Machining]
结果:
代码
工件编号 加工开始时间 加工结束时间
-------- ----------------------- -----------------------
-------- ----------------------- -----------------------
52040337 2011-01-11 08:39:10.000 2011-01-15 12:45:33.000
72110759 2011-01-11 10:25:41.000 2011-01-14 09:22:57.000
43025318 2011-01-10 15:19:53.000 2011-01-16 23:29:07.000
64029217 2011-01-13 10:50:36.000 2011-01-17 16:44:55.000
72110759 2011-01-11 10:25:41.000 2011-01-14 09:22:57.000
43025318 2011-01-10 15:19:53.000 2011-01-16 23:29:07.000
64029217 2011-01-13 10:50:36.000 2011-01-17 16:44:55.000
计算方法:
代码
SELECT [工件编号],[加工开始时间],[加工结束时间],CAST((CAST(DATEDIFF(s,[加工开始时间],[加工结束时间]) AS INT)) / 3600 AS NVARCHAR) + N' 小时'
+ CAST((CAST(DATEDIFF(s, [加工开始时间], [加工结束时间]) AS INT)) / 60 AS NVARCHAR)+ N' 分'
+ CAST((CAST(DATEDIFF(s, [加工开始时间], [加工结束时间]) AS INT)) % 60 AS NVARCHAR)+ N' 秒'
AS [加工时间] FROM [dbo].[Machining]
+ CAST((CAST(DATEDIFF(s, [加工开始时间], [加工结束时间]) AS INT)) / 60 AS NVARCHAR)+ N' 分'
+ CAST((CAST(DATEDIFF(s, [加工开始时间], [加工结束时间]) AS INT)) % 60 AS NVARCHAR)+ N' 秒'
AS [加工时间] FROM [dbo].[Machining]
执行结果:
代码
工件编号 加工开始时间 加工结束时间 加工时间
-------- ----------------------- ----------------------- ------------------
52040337 2011-01-11 08:39:10.000 2011-01-15 12:45:33.000 100 小时6006 分23 秒
72110759 2011-01-11 10:25:41.000 2011-01-14 09:22:57.000 70 小时4257 分16 秒
43025318 2011-01-10 15:19:53.000 2011-01-16 23:29:07.000 152 小时9129 分14 秒
64029217 2011-01-13 10:50:36.000 2011-01-17 16:44:55.000 101 小时6114 分19 秒
-------- ----------------------- ----------------------- ------------------
52040337 2011-01-11 08:39:10.000 2011-01-15 12:45:33.000 100 小时6006 分23 秒
72110759 2011-01-11 10:25:41.000 2011-01-14 09:22:57.000 70 小时4257 分16 秒
43025318 2011-01-10 15:19:53.000 2011-01-16 23:29:07.000 152 小时9129 分14 秒
64029217 2011-01-13 10:50:36.000 2011-01-17 16:44:55.000 101 小时6114 分19 秒