Сколько цифр можно сохранить для числа в SQL Server 2005? - PullRequest
0 голосов
/ 06 января 2009

У меня есть номер из базы данных Oracle 47306832975095894070.85314746810624532. Когда я добавляю его в SQL Server, он, конечно, не показывает столько цифр. Показывается как 4.73068329750959E + 19, а поле определяется как FLOAT.

Я думаю, что это, вероятно, включает в себя все значащие цифры, но меня спрашивают, можно ли сохранить число в точности так, как оно было у Oracle. Есть ли другой тип данных, который будет хранить ВСЕ цифры? Есть ли способ в SQL Server 2005 отображать число не в показательной, а показывать все сохраненные цифры?

Ответы [ 3 ]

3 голосов
/ 06 января 2009

вместо числа с плавающей запятой, используйте десятичное число (38,17). Это должно позволить вам хранить число с той же точностью, что и в Oracle.

3 голосов
/ 06 января 2009

Использовать десятичный тип данных. десятичное число (p, s) - p является значением точности, s является значением масштаба.

2 голосов
/ 06 января 2009

Эквивалентом NUMBER (p, s) Тип данных Oracle на Sql Server является числовой (p, с) тип данных. Обратите внимание, что значения по умолчанию для p (точность) и s (масштаб) не одинаковы на обеих платформах.

На Sql Server с плавающей точкой представляет число с плавающей запятой, которое является совершенно другим, приблизительным представлением числа. В Oracle эквивалент будет BINARY_DOUBLE .

...