MySQL的浮點型和定點型解析和案例演示

2021-08-09 15:00:34 字數 1502 閱讀 2797

小數型

1:概述(浮點型和定點型)

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

2;兩者區別

1:浮點型

小數點移動,精度有限,而且會丟失精度(系統自動四捨五入),4個位元組,最大8個數字

整數部分不能超出長度,但是小數部分可以超出長度

2:定點型

小數點固定:精度固定,不會丟失精度,根據資料傳遞,自動擴充,整數35位,小數30位

1:decimal型的取值範圍和double相同。但是decimal的有效取值範圍由m和d決定,而且decimal型的位元組數是m+2。也就是說,定點數的儲存空間是根據其精度決定的。

2:mysql中可以指定浮點數和定點數的精度。其基本形式如下:資料型別(m,d)。

其中,「資料型別」引數是浮點數或定點數的資料型別名稱,m引數稱為精度,是資料的總長度,小數點不佔位置。d引數成為標度,是指小數點後面的長度是d(就是小數部分的長度)。舉個例子:float(6,2)的含義資料是float型,資料長度是6,小數點後保留2位。所以,1234.56是符合要求的。

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

4:相反,對於定點數而言,decimal(m,d)是定點數的標準格式,一般情況下可以選擇這種資料型別。

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

6:在mysql中,定點數以字串形式儲存,因此,其精度比浮點數要高,而且浮點數會出現誤差,這是浮點數一直存在的缺陷。如果要對資料的精度要求比較高,還是選擇定點數decimal比較安全。

3:案例演示

1:建立表

2:插入資料

3:常見問題

1:浮點數如果進製導致長度溢位沒有問題,但是定點數不行,數字無法插入

黑猴子的家 mysql 浮點型 和 定點型

選擇資料型別的原則 1 選擇能儲存數值的越小型別越好 2 型別越簡單越好1 數值型總結 整型 特點1.根據所佔位元組或儲存的數值範圍分類 tinyint smallint mediumint int integer bigint 2.預設為有符號整型 3.如果超過型別的範圍,會報警告,插入臨界值 最...

mysql 中浮點型與定點型記錄

為了能夠引起大家的重視,在介紹浮點數與定點數以前先讓大家看乙個例子 mysql create table test c1 float 10,2 c2 decimal 10,2 query ok,0 rows affected 0.22 sec mysql insert into test value...

浮點型與定點型(浮點數與定點數)

浮點型與定點型 浮點數與定點數 float與int,這兩個型別,仔細研究一下,這兩個型別就會發現為什麼有超級計算機誕生的必要了,以及提高計算機的計算能力真的是一件很偉大的事情,正式說下把,先來定點數,定點數就是小數點固定在乙個位置,如下圖 類似上面長條那樣,表示小數點時,只能固定乙個點,假設使用32...