Я пытался понять, что база данных Oracle использует тип данных = число.Я наткнулся на следующую ссылку:
ask tom
, и у меня возникли проблемы с ее интерпретацией.Я должен отметить, что у меня нет опыта работы с Oracle, но я подхожу к этому из опыта Matlab.Я понимаю, что числовой тип данных имеет точность и масштаб.Что я не понимаю, так это то, как здесь рассматривается показатель.Показатель степени отдельно от точности и масштаба?Или показатель ограничен точностью и масштабом?
Вот мое замешательство - приведенная выше ссылка начинается с:
В: Я объявил тип данных столбца таблицы как NUMBER & Presumedэто должно быть число (38), чтобы быть конкретным.Но то, что я нашел странным, это то, что он принимает цифры до 38 цифр.1.111E + 125.Если точность Datatype равна 38, а масштаб может варьироваться от -84 до 127, как это значение может быть вставлено в столбец.
A: и мы сказали ... 1.111e + 125 имеет только 4 цифры точности (числоцифр, необходимых для представления числа - в данном случае 1111).
Что, по-видимому, означает, что показатель степени рассматривается отдельно от точности и масштаба.Но несколько сообщений, которые кто-то еще спрашивает:
Q: Когда я создаю таблицу наподобие: создайте тест таблицы (без номера (7));вставить в тестовые значения (1.00e + 25);выдает следующее сообщение об ошибке: ORA-01438: значение, превышающее указанную точность, допускает этот столбец.Можете ли вы, пожалуйста.объясни это.
A: вы сказали 7 цифр, вы дали ему 25
, что, по-видимому, указывает на то, что показатель степени ограничен точностью.Надеясь, что кто-то может помочь мне понять, как оба ответа могут быть правильными.