2013-04-09 39 views
1

我想用sqldeveloper(oracle sql)中的minus命令比較兩個表。用所產生的列X值隨下列精確度的過程(程序A)中產生一個表(表A):oracle sql減去截斷

80.3921568627

表B(方法B)中產生的相同的數據的以下版本:

80.39215686

對於我的任務而言,我不在乎超出兩位小數的精度。如何修改我的查詢語法(見下文),忽略全面超越前兩個小數位:

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

回答

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