我代表金錢,可以有2位小數,所以我使用的列:小數精度在mysql數據庫
'price' DECIMAL(2)
但之後讀出位我所看到的東西,如:
'price' DECIMAL(6,2)
2的區別是什麼?
我想要的是任何數字的數字,但將小數限制爲2,是第一個正確的?
我代表金錢,可以有2位小數,所以我使用的列:小數精度在mysql數據庫
'price' DECIMAL(2)
但之後讀出位我所看到的東西,如:
'price' DECIMAL(6,2)
2的區別是什麼?
我想要的是任何數字的數字,但將小數限制爲2,是第一個正確的?
在標準SQL,語法DECIMAL(M)等價於DECIMAL(M,0)。同樣,DECIMAL語法等價於DECIMAL(M,0),其中實現允許決定M的值.MySQL同時支持DECIMAL語法的這些變體形式。 M的默認值是10
'price' DECIMAL(6,2)
在這個例子中,6是精度和2是規模。精度表示爲值存儲的有效數字的數量,標度表示可以存儲在小數點後面的數字的數量。
'price' DECIMAL(2)
如果刻度爲0,DECIMAL值不包含小數點或小數部分。
換句話說:該字段可以有6位數,其中2必須在小數點後面。
換句話說:這個字段可以有'6'位其中'2'位將在小數點後面('0000.00' - '9999.99')。 – h2ooooooo
@ h2ooooooo先生更新了你的句子 –
用於DECIMAL列中的聲明語法是DECIMAL(M,d)。 MySQL 5.1中參數的值範圍如下:
M是最大位數(精度)。它的範圍爲1 至65.(舊版本的MySQL允許範圍爲1至254.)
D是小數點右邊的數字位數( 比例)。它有30個的範圍爲0,並且必須是不大於M.
語法DECIMAL列是DECIMAL(M,d)其中,
L:數字
最大數d:小數點右邊的位數。
參見:https://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html
https://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html –