mysql基本定義--數據類型

浮點數類型與定點數類型:mysql

  • MySQL中使用浮點數類型和定點數類型來表示小數。

浮點數類型包括單精度浮點數(float型)和雙精度浮點數(double型)。定點數類型就是decimal型。sql

OK,如今咱們來看看這幾種數據類型的取值範圍和存數的字節數。


關於上表的解釋:
數據庫

1,Decimal型的取值範圍和double相同。可是decimal的有效取值範圍由M和D決定,並且Decimal型的字節數是M+2。也就是說,定點數的存儲空間是根據其精度決定的。安全

2,MySQL中能夠指定浮點數和定點數的精度。其基本形式以下:數據類型(M,D)。spa

其中,「數據類型」參數是浮點數或定點數的數據類型名稱,M參數稱爲精度,是數據的總長度,小數點不佔位置。D參數成爲標度,是指小數點後面的長度是D。
.net

舉個例子:float(6,2)的含義數據是float型,數據長度是6,小數點後保留2位。因此,1234.56是符合要求的。blog

3,注意:上述指定的小數精度的方法雖然都適用於浮點數和定點數,但不是浮點數的標準用法。建議在定義浮點數時,若是不是實際狀況須要,最好不要使用,若是使用了,可能會影響數據庫的遷移。ci

4,相反,對於定點數而言,decimal(M,D)是定點數的標準格式,通常狀況下能夠選擇這種數據類型。字符串

5,若是插入值的精度高於實際定義的精度,系統會自動進行四捨五入處理,使值的精度達到要求。get

在MySQL中,定點數以字符串形式存儲,所以,其精度比浮點數要高,並且浮點數會出現偏差,這是浮點數一直存在的缺陷。若是要對數據的精度要求比較高,仍是選擇定點數decimal比較安全。

http://blog.csdn.net/u011794238/article/details/50902405

相關文章
相關標籤/搜索