我已經做了一個查詢來計算還未完成的分鐘數,不幸的是我得到了那個錯誤。也有人可以告訴我如何在幾個小時內轉換分鐘數,例如1.45小時應該等於1.75小時,1.30應該是1.5,然後我想添加它們。當將varchar值「.03」轉換爲數據類型int時,轉換失敗int
SELECT * ,
(SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 1, 1)) AS Hours ,
(SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 3, 4)) AS Minutes ,
(SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 3, 4) * 10/60.00) AS FractionalHours ,
ROUND((SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 3, 4) * 10/60.00)/10 + (SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 1, 1)), 2) AS ActualHours
FROM WorkDone
WHERE NoOfHoursWorked LIKE '%.%'
------- UpDate----
UPDATE WorkDone
SET NoOfHoursWorked = ROUND((SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)), 3, 4) * 10/60.00)/10
+ (SUBSTRING(CAST((NoOfHoursWorked) AS VARCHAR(500)),1, 1)), 2)
您的NoOfHoursWorked實際上看起來像什麼? – Andrew 2014-11-21 17:06:09
您可以分享'NoOfHoursWorked'列的樣本數據嗎? – 2014-11-21 17:06:33
無法將圖像放在這裏數據就像這樣1.30或1.3,1.50,2,3.50這些是小數點前幾小時,之後是分鐘 – Samad 2014-11-21 17:11:27