Разница между плавающей точкой и десятичной дробью в Oracle и t-sql - PullRequest
0 голосов
/ 01 февраля 2019

Я выбрал один и тот же запрос в Oracle и t-sql, я немного запутался

ответы наоборот.

(меня интересует разница между float и decimal)

Некоторые объяснения?

T-sql:

DECLARE @A decimal(30,20);   
DECLARE @b float(10);


set @A=100
set @b=100

select 
  @A/3 + @A/3 + @A/3 as decimal,
  @b/3 + @b/3 + @b/3 as float

Oracle:

Declare flt Float;
        dcm Decimal(30,20);

Begin

  flt:=100;
  dcm:=100;

  flt:=flt/3+flt/3+flt/3;
  dcm:=dcm/3+dcm/3+dcm/3;

  dbms_output.put_line(flt);
  dbms_output.put_line(dcm);

End;

1 Ответ

0 голосов
/ 01 февраля 2019

FLOAT в информатике являются приблизительными значениями, вы можете прочитать это: Математика с плавающей запятой не работает?

Десятичные значения в TSQL похожи на 2 целых числа с точкой между ними, поэтомуточное значение, но требует больше места.Я всегда буду рекомендовать вам работать с десятичным значением в базе данных.

...