浮點型別
FLOAT
和 DOUBLE
代表近似資料型別。
型別 | 儲存 | 精確 | 範圍 |
---|---|---|---|
float |
4 位元組 | 23 位有效位/ ~7 位小數 | 10 ^ + / - 38 |
double |
8 個位元組 | 53 位有效位/ ~16 位十進位制數 | 10 ^ + / - 308 |
REAL
是 FLOAT
的同義詞。DOUBLE PRECISION
是 DOUBLE
的同義詞。
雖然 MySQL 也允許(M, D)限定符,但不要使用它。 (M, D)表示可以儲存最多 M 個總數的值,其中 D 可以在小數點後面。數字將被舍入兩次或被截斷; 這會帶來更多麻煩而不是利益。
由於浮點值是近似值而未儲存為精確值,因此嘗試在比較中將它們視為精確值可能會導致問題。特別要注意,FLOAT
值很少等於 DOUBLE
值。