3

这是我的部分陈述。该语句有效并收到 4 的值,但在某些情况下,我更喜欢 3.9,该数字可能不是整数,而是 0.4、.2、.1 等。这些数字目前显示为“0”,因为 Oracle 会四舍五入. 如果我删除“圆形”,我会收到 3.9123458543845474586。有没有办法只显示 3.9 和 .4,.2 等而不进行四舍五入?我知道它必须是一个语法问题。当我删除回合时,我收到一个错误。

round((total_qty)*((avg_qty/(sum(avg_qty)over(按ID分区)))/5),0) avg_qty

提前致谢。

4

2 回答 2

11

如果你总是想“四舍五入”下来,函数就是trunc。这应该适合你:

select trunc(3.99999, 1) from dual;

结果

3.9
于 2013-10-07T18:51:48.350 回答
2

像这样试试

SELECT ROUND(3.9123458543845474586, 1) Round FROM DUAL;

     Round
----------
      3.9

为了更好地理解,请参阅此链接

于 2013-10-07T18:17:56.163 回答