2013-04-09 5 views
1

Я хочу сравнить две таблицы, используя команду минус в sqldeveloper (oracle sql). Одна таблицы (Таблица A), генерировали с помощью процедуры (методика A), который произвел значения в столбце X со следующей точностью:oracle sql минус с усечением

80,3921568627

Таблица 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 в приведенном выше примере.

Смежные вопросы