Conversion from Time to Decimal
IF OBJECT_ID('Work_Summary') IS NOT NULL DROP TABLE Work_Summary
IF OBJECT_ID('Job_Details') IS NOT NULL DROP TABLE Job_Details
IF OBJECT_ID('Product') IS NOT NULL DROP TABLE Product
CREATE TABLE Job_Details (
Job_Number int PRIMARY KEY
)
insert into Job_Details (Job_Number) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15)
CREATE TABLE Product (
Product_Code char(8) PRIMARY KEY
)
insert into Product (Product_Code) values ('PC_1001'),('PC_1002'),('PC_1003'),('PC_1004'),('PC_1005'),('PC_1006'),('PC_1007'),('PC_1008'),('PC_1009'),('PC_1010'),('PC_1011'),('PC_1012'),('PC_1013'),('PC_1014'),('PC_1015')
CREATE TABLE Work_Summary (
Invoice_No INT NOT NULL IDENTITY PRIMARY KEY,
Invoice_Date DATE,
Order_Quantity INT,
Job_man_hours TIME,
Job_Desc CHAR (40),
Labour_Cost_Per_Hour DECIMAL(9,2),
Job_Number INT REFERENCES Job_Details (Job_Number),
Product_Code CHAR (8) REFERENCES Product (Product_Code),
Total_Cost DECIMAL (9,2)
)
SET IDENTITY_INSERT Work_Summary ON
INSERT INTO Work_Summary
(Invoice_No,Invoice_Date,Order_Quantity,Job_man_hours,Job_Desc,Labour_Cost_Per_Hour,Job_Number,Product_Code)
VALUES (1,'2017/05/18',2,'1:20:00','Description',100.00,1,'PC_1001'),
(2,'2017/05/18',6,'2:30:00','Description',75.00,2,'PC_1002'),
(3,'2017/05/18',7,'3:10:00','Description',50.00,3,'PC_1003'),
(4,'2017/05/18',1,'4:35:00','Description',20.00,4,'PC_1004'),
(5,'2017/05/18',9,'5:50:00','Description',15.00,5,'PC_1005'),
(6,'2017/05/18',11,'6:30:00','Description',10.00,6,'PC_1006'),
(7,'2017/05/18',1,'2:00:10','Description',18.95,7,'PC_1007'),
(8,'2017/05/18',6,'2:30:50','Description',19.99,8,'PC_1008'),
(9,'2017/05/18',8,'3:00:25','Description',40.00,9,'PC_1009'),
(10,'2017/05/18',9,'1:30:18','Description',30.00,10,'PC_1010'),
(11,'2017/05/18',14,'2:00:10','Description',20.95,11,'PC_1011'),
(12,'2017/05/18',3,'2:30:11','Description',9.99,12,'PC_1012'),
(13,'2017/05/18',6,'3:00:45','Desription',199.99,13,'PC_1013'),
(14,'2017/05/18',8,'3:30:34','Description',200.00,14,'PC_1014'),
(15,'2017/05/18',9,'4:00:54','Description',500.00,15,'PC_1015')
SET IDENTITY_INSERT Work_Summary OFF
update Work_Summary set Total_Cost = Labour_Cost_Per_Hour * ((CAST(DATEPART(hh, Job_man_hours) AS float) +
CAST(DATEPART(mi, Job_man_hours) AS float) / 60 +
CAST(DATEPART(ss, Job_man_hours) AS float) / 3600)) where invoice_no in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
select * from Work_Summary where invoice_no in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)