我有一個用戶從下拉列表中選擇課程持續時間的在線表單。這些數據然後進入名爲duration - varchar(5)的數據庫字段,數據示例將是02:30。然後我運行一個存儲過程,該過程應該將數據轉換爲2.5。這允許以小時工資率計算持續時間。將文本轉換爲數字
的Datafields
時間 - VARCHAR(5)02:30
ValueOfDuration - 數字(18,2)2.5
我的問題是此存儲過程運行時,我得到一個錯誤。
將數據類型varchar轉換爲實數時出錯。
UPDATE
ManualAdjustments
SET
ValueOfDuration = ROUND (CONVERT(real, LEFT(Duration, 2))+(CONVERT(real,RIGHT(Duration, 2))/60.0),2)
WHERE ValueOfDuration IS NULL
你使用的是什麼RDBMS? – Jens
如果您使用的是Oracle,請使用TO_NUMBER而不是CONVERT。 –
爲2:30值工作良好的sqlserver ..有沒有一個特定的值,其不工作? –