1

我想使用 sqldeveloper(oracle sql)中的减号命令比较两个表。使用过程(过程 A)生成了一个表(表 A),该过程在 X 列中生成具有以下精度的值:

80.3921568627

表 B(程序 B)产生了相同数据的以下版本:

80.39215686

就我的任务而言,我不关心超过两位小数的精度。如何修改查询的语法(见下文)以忽略前两位小数以外的所有内容:

select id,a_val
from table_A
minus                               
select id,b_val
from table_B
4

1 回答 1

3

使用TRUNC

select id, trunc(a_val, 2) from table_B
minus select id, trunc(b_val, 2) from table_B

TRUNC根本没有四舍五入,所以TRUNC(12.349, 2) = 12.34. 如果您想12.349被视为等于12.35而不是12.34,只需在上面的示例中使用ROUND而不是。TRUNC

于 2013-04-09T15:06:19.837 回答