簡體   English   中英

SQL Server-將VARCHAR值更新為DECIMAL

[英]SQL server - update VARCHAR value to DECIMAL

將資源表中護士資源的比率提高10%。 在此處輸入圖片說明

我嘗試此代碼但失敗

UPDATE Resourcetbl 
SET  Rate = convert(varchar(255), convert(decimal(10,2), Rate * 1.1))
WHERE ResName = 'nurse';

我收到錯誤消息將varchar轉換為數值數據類型的算術溢出錯誤。


價格為VARCHAR(20)

在乘以之前將Rate轉換為decimal

UPDATE Resourcetbl 
SET  Rate = convert(varchar(255), convert(decimal(10,2),Rate) * 1.1)
WHERE ResName = 'nurse';

因為您必須在算術運算之前將值轉換為十進制

convert(varchar(255), (convert(decimal(10,2), Rate) * 1.1))

您可以使用CAST

UPDATE Resourcetbl 
SET  Rate = convert(varchar(255),CAST(rate AS DECIMAL(9,2)) * 1.1))
WHERE ResName = 'nurse';

沒想到-這可以完成工作

更新Resourcetbl SET Rate + =(Rate * 10)/ 100 WHERE ResName ='nurse';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM