2013-05-10 31 views
1

我有兩個號我要劃分:162333331分之5262167當使用Windows計算器(CALC.EXE)的結果是0.0324158136076195但使用簡單的選擇時,在SQL CAST功能驗證Server 2008R2我沒有相同的結果。以下是我在SQL編輯器快到:司使用CAST功能的SQL服務器2號2008R2

select CAST((5262167/162333331) as decimal(18,8)) 

,其結果是0.00000000

回答

6

你做的整數除法,這將截斷任何剩餘物。 5262167 < 162333331,所以你的結果是將前0演員輸入。

select CAST(5262167 as decimal(18,8))/CAST(162333331 as decimal(18,8)) 
+0

謝謝你的幫助。現在這正是我期待的。 – Edward 2013-05-10 14:27:13

+0

@愛德華很高興幫助。如果答案解決您的問題,請考慮[將其標記爲接受(http://meta.stackexchange.com/a/5235/191706)讓其他人知道什麼固定的問題。 – 2013-05-10 14:29:32

1

另一個不太優雅的方法是:選擇(5262167 * 1.0)/(1623333331 * 1.0))。我通常忘記施放它們,只是乘以1.0。