Как НОМЕР Oracle может иметь Масштаб, больше, чем Точность?

Состояния документации: "Точность может колебаться от 1 до 38. Масштаб может колебаться от-84 до 127".

Как масштаб может быть больше, чем точность? Не был должен Диапазон шкалы от-38 до 38?

5
задан aiGuru 18 March 2010 в 22:15
поделиться

3 ответа

Может возникнуть вопрос, почему бы и нет? Попробуйте следующий SQL.

select cast(0.0001 as number(2,5)) num, 
       to_char(cast(0.0001 as number(2,5))) cnum,
       dump(cast(0.0001 as number(2,5))) dmp
  from dual

То, что вы видите, это то, что вы можете хранить небольшие числа, это такая структура Возможно, это не требуется очень часто, но я уверен, что где-то есть кто-то, кто хранит очень точные, но очень маленькие числа.

5
ответ дан 18 December 2019 в 11:55
поделиться

Хм, насколько я понимаю, точность - это количество цифр.
максимальная точность 126 двоичных цифр, что примерно эквивалентно 38 десятичным цифрам.

В oracle у вас есть тип ЧИСЛО (точность, масштаб), где точность - это общее количество цифр, а масштаб - это количество цифр справа от десятичной точки. Масштаб можно не указывать, но он означает ноль. Точность может быть не указана (используйте, например, ЧИСЛО (*, 10)) - это означает, что общее количество цифр такое, какое необходимо, но справа 10 цифр

Если масштаб меньше нуля, значение будет округлено до масштаб цифр слева от десятичной точки.
Я думаю, что если вы зарезервируете больше чисел справа от десятичной точки, чем может быть во всем числе, это будет примерно 0,00000000123456, но я не уверен на 100%.

0
ответ дан 18 December 2019 в 11:55
поделиться

Спасибо всем за ответы. Похоже, что точность - это количество значащих цифр.

 select cast(0.000123 as number(2,5)) from dual

дает результат:

.00012

Где

 select cast(0.00123 as number(2,5)) from dual

и

 select cast(0.000999 as number(2,5)) from dual

оба дают результат:

ORA-01438: value larger than specified precision allowed for this column

второй из-за округления.

2
ответ дан 18 December 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: