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

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

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

float double類型
 
1.float類型
float列類型默認(rèn)長(zhǎng)度查不到結(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的話會(huì)查到這條記錄。
 
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
注:超出字段范圍,無(wú)法插入
 
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ù)不夠,自動(dòng)補(bǔ)齊,但是存在一個(gè)問題就是如上的近似值。
 
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ù)超了,自動(dòng)取近似值。
--------------------------------------------------------------------------------------
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ù)點(diǎn)后面。
例如,定義為FLOAT(7,4)的一個(gè)列可以顯示為-999.9999。MySQL保存值時(shí)進(jìn)行四舍五入,因此如果在FLOAT(7,4)列內(nèi)插入999.00009,近似結(jié)果是999.0001。

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

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

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

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司