2013-11-25 61 views
-1

我正在閱讀mysql手冊,並希望確保正確理解某些內容。mysql DECIMAL存儲要求

如果我有DECIMAL(15,8)這是否意味着6位數字前的數字和8後?

如果我想從15,2移動到允許價格後8位小數,那麼我應該移動到21,8,所以我不會失去任何精度?

+0

您是否閱讀過[存儲要求手冊](http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html)? – tadman

+0

我要求澄清。我發現它有時很難理解手冊 –

+0

我只是問你是否有。沒關係,如果你需要澄清。 – tadman

回答

2

從MySQL文檔:http://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html


在DECIMAL列聲明,精度和規模可以(並且通常是)指定;例如:

salary DECIMAL(5,2) 

在這個例子中,5是精度和2是比例。精度表示爲值存儲的有效數字的數量,標度表示可以存儲在小數點後面的數字的數量。

標準SQL要求DECIMAL(5,2)能夠存儲任何值與五個數字和兩位小數,因此可以存儲在salary列範圍從-999.99 999.99值。