---MYSQL 的结果select TRUNCATE(275600/11440000*-220000,-2), 275600/11440000*-220000---------------------------------------------
-5200 -5300.0000
----我需要的结果
select TRUNCATE(275600/11440000*-220000,-2), 275600/11440000*-220000---------------------------------------------
-5300 -5300.0000----ORACLE中的结果
select TRUNC(275600/11440000*-220000,-2), 275600/11440000*-220000 from dual;---------------------------------------------
-5300 -5300
谁能帮我解释一下,或帮我解决一下这个问题
-5299.9999800000返回被舍去至小数点后D位的数字X。若D 的值为 0, 则结果不带有小数点或不带有小数部分。可以将D设为负数,若要截去(归零) X小数点左起第D位开始后面所有低位的值.
select TRUNCATE(275600/11440000*-220000,5)
-5200select 275600/11440000*-220000
-5300
-5300
而ORACLE的程序员显然用了向下取整。
+-----------------------------------+
| round(275600/11440000*-220000,-2) |
+-----------------------------------+
| -5300 |
+-----------------------------------+
1 row in set (0.00 sec)mysql>
钻石大神,,,,,,我的目的是TRUNCATE,ORACLE中的TRUNC也是截取的意思,ORACLE也有ROUND进行四舍五入,
-3.5 截取后是 -3 ORACLE中TRUNC(-3.5) 也是-3