2

删除十进制值

select cast(val as integer),val from table

我试过了也没有工作请告诉我解决这个问题的方法。

select ROUND(2.9,0) from dual

24  23.8331134259259
31  30.8322222222222
31  30.8321990740741
31  31.1120023148148
31  31.1119791666667
28  28.0590046296296
31  31.1177314814815
4   4.05344907407407
4   4.03957175925926
14  13.7137731481481
5   4.79490740740741
5   4.79490740740741
5   4.79489583333333
5   4.79488425925926

预期输出:

23  23.8331134259259
30  30.8322222222222
30  30.8321990740741
30  31.1120023148148
30  31.1119791666667
28  28.0590046296296
31  31.1177314814815
4   4.05344907407407
4   4.03957175925926
13  13.7137731481481
4   4.79490740740741
4   4.79490740740741
4   4.79489583333333
4   4.79488425925926
4

3 回答 3

3

嗨尝试截断功能

TRUNC( number, [ decimal_places ] )
于 2013-10-28T07:24:20.540 回答
3

你在找FLOOR吗?

FLOOR 返回等于或小于 n 的最大整数。数字 n 总是可以写成整数 k 和正分数 f 的和,这样 0 <= f < 1 并且 n = k + f。FLOOR 的值是整数 k。因此,当且仅当 n 恰好是整数时,FLOOR 的值本身就是 n。

于 2013-10-28T07:25:08.060 回答
1

只是select FLOOR(2.9,0) from dual

于 2013-10-28T07:25:44.753 回答