2015-12-28 51 views
0

下面是表 enter image description here的MySQL更新查詢沒有更新表

,這是MySQL查詢 -

UPDATE loan_accounts SET `Int_Rate` = TRUNCATE(`Int_Rate`*0.5/100+`Int_Rate`,2) WHERE `Loan_Amount`>400000; 

上面的查詢不被0.5%的所有加息的更新表貸款金額超過40萬的貸款。

請幫助我找到我的錯誤。 Int_Rate的

數據類型是DECIMAL(7,2)我只使用這種格式,由於這個我用截斷功能

+1

'Int_Rate'的數據類型是什麼?也許把它除以2然後除以100得到的值爲0,然後你只是將原始值加回到0? – David

+1

賬戶#2的利率是10.00。當你說你想要利率上漲0.5%時,你的意思是新的利率應該是10.50%?如果是這樣,'更新loan_accounts set int_rate = int_rate + 0.5其中loan_amount> 400000'應該這樣做 – zedfoxus

+0

首先,如果表中的Int_Rate是DECIMAL(7,2),那麼你的代碼應該工作正常 - 我測試了它並且它工作 - 例如,12.50更改爲12.56。 但是,我想說一個簡單的表達式更新0.05%是乘以1.005。 – SeanN

回答

2

如果你希望從磕碰,比如說利率,10.00至10.50 ,所有你需要做的就是添加像這樣:

update loan_accounts 
set int_rate = int_rate + 0.5 
where loan_amount > 400000; 

(將信息從評論移動到答案,以便關閉OP的問題)。