2012-09-19 130 views
4

假設我有兩個數字num1(p1,s1)num2(p2, s2)(其中ps分別是精度和刻度)。(My)中的小數乘法的精度和小數位數SQL

計算num1num2結果的精度和標度的規則是什麼?

直觀上,比例尺將是s1s2的總和(因爲這就是你如何在1年級進行乘法運算!),但是我找不到找到精度的規則。

謝謝。

回答

1

我相信你已經聲明瞭兩個數字像下面這樣,在你的問題的語法不是SQL:

CREATE TABLE decimals (num1 DECIMAL(p1,s1), num2 DECIMAL(p2,s2)); 

的精度只是位數的號碼存儲到,規模是這些小數點後的數量。

所以,你是正確的,規模爲乘法的結果將是s1 + s2,但最大精度也將總和p1 + p2。實際的精度可能會低於這個取決於數量的乘積。

與可以存儲爲DECIMAL(2,1)號碼開始:

SELECT 9.9 * 9.9; 

給出98.01其可以被存儲爲DECIMAL(4,2)

SELECT 9.9 * 0.5; 

給出4.95其可以被存儲爲DECIMAL(3,2)