一个工件可以从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 秒