在sql中的十进制到整数

时间:2013-10-28 07:22:05

标签: sql oracle

删除十进制值

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

3 个答案:

答案 0 :(得分:2)

你好试试截断功能

TRUNC( number, [ decimal_places ] )

答案 1 :(得分:2)

您在寻找FLOOR吗?

  

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

答案 2 :(得分:1)

只需select FLOOR(2.9,0) from dual