今天做專案時,遇到一個問題當我試著下 sql語法如下結果回傳79,但用excel或小算盤算完的結果是79.8,奇怪為什麼sql 算完會沒有小數位數?
今天做專案時,遇到一個問題
當我試著下 sql語法如下
1: select 21*228/60
2: from dbo.table1
結果回傳79,但用excel或小算盤算完的結果是79.8
奇怪為什麼sql 算完會沒有小數位數?
原因是因為他會自動判斷若運算值皆為整數時,運算結果將會無條件捨去小數
所以就顯示不出來了,但這樣不對啊,我若需要小數位數怎麼辦?
有一個做法如下
1: select round(cast(21 as float ) *228 /60,2) from table1
將其中一個整數做轉型成浮點數類型,例如cast (21 as float),這樣結果就會是正確的了!
感謝網友的回覆
網友亂馬客及wei的回覆,有提供更好的方法
直接將其中一位整數加上".0" 即可
例如 select 21.0*228/60 from dbo.table1
不錯,又學到一個了