【问题标题】:oracle sql minus with truncationoracle sql减带截断
【发布时间】:2013-04-09 15:00:21
【问题描述】:

我想在 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

【问题讨论】:

    标签: sql oracle oracle-sqldeveloper


    【解决方案1】:

    使用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

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 2020-04-06
      • 2015-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多