Я работаю над базой данных SQL Server и должен убедиться, что числовые типы достаточно велики для данных.
Существует два источника: Java double
и Oracle float(126)
.
Типы SQL Server: numeric(30,10)
или numeric(15,8)
.
Я прочитал, что двойники Java могут хранить значения от -4.9E-324 до 1.7976931348623157E + 308, Oracle float(126)
имеет приблизительно 38 цифр точности, в то время как SQL Server numeric(30,10)
имеет только 30 цифр точности и допускает 10 цифр после десятичной точки.
Правильно ли я сказал, что numeric(30,10)
небезопасен для double
и float(126)
и может привести к потере точности или переполнению. Должны ли они быть изменены на DOUBLE PRECISION
?