Это зависит от точности и масштаба, которые вы указали для десятичного типа. Например, если у вас есть decimal(19,2)
и вы пытаетесь преобразовать real
число 1.123
, вы получите значение 1.12
.
Тип decimal
имеет более высокую точность, чем тип real
, поэтому он способен обрабатывать любое значение real
, находящееся в его диапазоне, без потери точности.
Тип money
может содержать те же данные, что и десятичное число (19,4).
Типы decimal
и money
являются точными, а real
- приблизительным. Если вы преобразуете real
в decimal
, вы можете увидеть значение, которое не совсем то, что вы видите в значении real
, но это потому, что значение real
округляется при его отображении и decimal
значение не.