1个字段的值是float,
我现在用sql需要看到1个float数值的小数点6位
问如何写这个sql (一般不出现小数点后面多达6位)?

解决方案 »

  1.   

    问题是这样的 
    我的值是432323.2222
    存入float字段后 ,发现只出现432323
    小数点后面没有了, 如何把
    .2222
    找出来
      

  2.   

    mysql> create table t_liyihongcug(id int,f1 float);
    Query OK, 0 rows affected (0.14 sec)mysql> insert into t_liyihongcug values(1,432323.2222);
    Query OK, 1 row affected (0.05 sec)mysql> select * from t_liyihongcug;
    +------+--------+
    | id   | f1     |
    +------+--------+
    |    1 | 432323 |
    +------+--------+
    1 row in set (0.05 sec)mysql> select FORMAT(f1, 4) from t_liyihongcug;
    +---------------+
    | FORMAT(f1, 4) |
    +---------------+
    | 432,323.2188  |
    +---------------+
    1 row in set (0.06 sec)mysql>
      

  3.   

    我用的是 as DECIMAL(10,20))
    没有楼上的强
      

  4.   

    这个问题是很奇特的
    用工具打开直接编辑如432323.2222  是ok的
    但是用update set a=432323.2222发现展现到客户端的是432323(不是432323.2222)
    社么原因??
    后来只能用mysql的字符串处理函数来做 
    最好用FORMAT(f1, 4) 
      

  5.   

    另外 as DECIMAL(10,20)) 
    为什么只能精确432323.22
    不能到4位, 如何能完全展示这个数值
      

  6.   

    定义的时候一定要搞清楚才行,根本解决方案是这样的:mysql> create table id(id float(10,6) not null default 0);
    Query OK, 0 rows affected (0.06 sec)mysql> insert into id values (10.22222343);
    Query OK, 1 row affected (0.00 sec)mysql> select * from id;
    +-----------+
    | id        |
    +-----------+
    | 10.222223 |
    +-----------+
    1 row in set (0.02 sec)