mysql中float和double類型的作用是什么

MySQL中float 和double類型的作用是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務器托管提供商,專業(yè)提供成都服務器托管,服務器租用,成都電信服務器托管,成都電信服務器托管,成都多線服務器托管等服務器托管服務。

float double類型
 
1.float類型
float列類型默認長度查不到結(jié)果,必須指定精度,
比如 num  float,  insert into  table (num) values (0.12); select  * from table where num=0.12的話,empty set。
num float(9,7),  insert into  table (num) values (0.12); select  * from table where num=0.12的話會查到這條記錄。
 
mysql> create table tt
    -> (  www.2cto.com  
    -> num  float(9,3)
    -> );
Query OK, 0 rows affected (0.03 sec)
 
mysql> insert into tt(num)values(1234567.8);
ERROR 1264 (22003): Out of range value for column 'num' at row 1
注:超出字段范圍,無法插入
 
mysql> insert into tt(num)values(123456.8);
Query OK, 1 row affected (0.00 sec)
 
mysql> select  * from  tt;
+------------+
| num        |
+------------+
| 123456.797 |
+------------+
1 row in set (0.00 sec)
注:小數(shù)位數(shù)不夠,自動補齊,但是存在一個問題就是如上的近似值。
 
mysql> insert into tt(num)values(123456.867);
Query OK, 1 row affected (0.04 sec)
 
mysql> select * from   tt;
+------------+  www.2cto.com  
| num        |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
+------------+
3 rows in set (0.00 sec)
 
mysql> select  * from tt where  num=123456.867;
+------------+
| num        |
+------------+
| 123456.867 |
+------------+
1 row in set (0.00 sec)
 
mysql> insert into tt(num)values(2.8);
Query OK, 1 row affected (0.04 sec)
 
mysql> select * from   tt;
+------------+
| num        |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
|      2.800 |
+------------+
4 rows in set (0.00 sec)
 
mysql> select  * from tt where  num=2.8;
+-------+  www.2cto.com  
| num   |
+-------+
| 2.800 |
+-------+
1 row in set (0.00 sec)
 
mysql> insert into tt(num)values(2.888888);
Query OK, 1 row affected (0.00 sec)
 
mysql> select  * from  tt;
+------------+
| num        |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
|      2.800 |
|      2.889 |
+------------+
5 rows in set (0.00 sec)
注:小數(shù)位數(shù)超了,自動取近似值。
--------------------------------------------------------------------------------------
2.double類型
 
mysql> create table tt(
    -> num  double(9,3)
    -> );
Query OK, 0 rows affected (0.02 sec)
 
mysql> insert into tt(num) values(234563.9);
Query OK, 1 row affected (0.00 sec)
  www.2cto.com  
mysql> select * from  tt;
+------------+
| num        |
+------------+
| 234563.900 |
+------------+
1 row in set (0.00 sec)
 
mysql> insert into tt(num) values(2345623.2);
ERROR 1264 (22003): Out of range value for column 'num' at row 1
mysql> insert into tt(num) values(234563.2);
Query OK, 1 row affected (0.00 sec)
 
mysql> select  * from  tt;
+------------+
| num        |
+------------+
| 234563.900 |
| 234563.200 |
+------------+
2 rows in set (0.00 sec)
 
mysql> insert into tt(num) values(2.8);
Query OK, 1 row affected (0.00 sec)
 
mysql> select  * from tt;
+------------+
| num        |
+------------+
| 234563.900 |
| 234563.200 |
|      2.800 |
+------------+
3 rows in set (0.00 sec)
   www.2cto.com  
FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。這里,“(M,D)”表示該值一共顯示M位整數(shù),其中D位位于小數(shù)點后面。
例如,定義為FLOAT(7,4)的一個列可以顯示為-999.9999。MySQL保存值時進行四舍五入,因此如果在FLOAT(7,4)列內(nèi)插入999.00009,近似結(jié)果是999.0001。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

本文題目:mysql中float和double類型的作用是什么
文章路徑:http://bm7419.com/article34/iehppe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司面包屑導航、用戶體驗、自適應網(wǎng)站App開發(fā)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司