隨筆-31  評論-14  文章-0  trackbacks-0

          1.float類型
          float列類型默認長度查不到結果,必須指定精度,
          比如 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
              -> (
              -> 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)
          注:小數位數不夠,自動補齊,但是存在一個問題就是如上的近似值。

          mysql> insert into tt(num)values(123456.867);
          Query OK, 1 row affected (0.04 sec)

          mysql> select * from   tt;
          +------------+
          | 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;
          +-------+
          | 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)
          注:小數位數超了,自動取近似值。

          --------------------------------------------------------------------------------------

          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)

          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)

           

          FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。這里,“(M,D)”表示該值一共顯示M位整數,其中D位位于小數點后面。
          例如,定義為FLOAT(7,4)的一個列可以顯示為-999.9999。MySQL保存值時進行四舍五入,因此如果在FLOAT(7,4)列內插入999.00009,近似結果是999.0001。

          posted on 2012-07-09 23:15 zhanghu198901 閱讀(8789) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乐清市| 宁远县| 剑川县| 新安县| 云安县| 泽普县| 淮南市| 临洮县| 六盘水市| 富川| 南昌县| 恩施市| 宁陕县| 和田县| 景泰县| 大同市| 沛县| 图木舒克市| 合肥市| 卓资县| 白沙| 萨迦县| 云安县| 闸北区| 兴海县| 凤庆县| 青州市| 司法| 益阳市| 哈尔滨市| 股票| 南川市| 香港 | 安阳市| 监利县| 盐山县| 淳安县| 雷波县| 伊川县| 平和县| 仪陇县|