mysql 表中某字段为a double 如
23243.121
23243.1292121
之前用format(a,2)
发现format自动对a字段进行了四舍五入,
现在要求对a字段不进行四舍五入, 保留小数点后面2为就可以啦。
如何做。

解决方案 »

  1.   

    select  floor(21.875*100)/100
    FLOOR(X)   返回不大于X的最大整数值。   CEILING(X)   返回不小于X的最小整数值。   ROUND(X)   返回参数X的四舍五入的一个整数。 ROUND(X,D)   返回参数X的四舍五入的有D为小数的一个数字。如果D为0,结果将没有小数点或小数部分。 
    1.小数位不四舍五入,   例如   :   21.875   保留     2位小数       返回     21.87   
    select   round(floor(21.875*100)/100,2); 
      

  2.   

    select left(a,instr(cast(a as char),'.')+2)
      

  3.   


    select left(cast(a as char),locate('.',cast(a as char))+2);
      

  4.   

    select   round(floor(21.875*100)/100,2); 
    你自己不是已经找到了吗?
    mysql> select round(floor(21.875*100)/100,2);
    +--------------------------------+
    | round(floor(21.875*100)/100,2) |
    +--------------------------------+
    |                          21.87 |
    +--------------------------------+
    1 row in set (0.00 sec)mysql>