Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.18;
Скачать: CL | DM;

Вниз

Тип поля в базе Interbase   Найти похожие ветки 

 
Маруся   (2002-06-26 15:38) [0]

Почему, когда я создаю поле numeric(5,2) в базе оно создается как int (соответственно, без десятичных знаков), а не float?
И еще, чем отличается тип numeric от float в Interbase ?


 
Viewer   (2002-06-26 16:12) [1]

Float(double) - 32 и 64 разрядные поля для представления чисел
в формате "плавающая точка" с погрешностью 1/2 МЗР

Numeric (decimal) - виртуальные поля для представления чисел в формате "фиксированная запятая" с заданной точностью ppp.ss
Физическое представление их в IB определяется заданными при создании значениями ppp и ss и может быть типом от SMALLINT до
DOUBLE PRECISION.
Различие в Numeric и Decimal состоит в том, что при Numeric
разрядность определяется точно заданным, а при Decimal - не менее заданного.


 
Viewer   (2002-06-26 16:15) [2]

Например
NUMERIC(4) == SMALLINT
NUMERIC(9) == INTEGER
NUMERIC(10,4) == DOUBLE PRECISION


 
Маруся   (2002-06-26 16:27) [3]

Я все поняла, кроме одного: почему поле, объявленное как
numeric(5,2) создается с типом integer и ест-но, при добавлении в него данных десятичные дроби округляются до целого?


 
Viewer   (2002-06-26 16:51) [4]

Потому, что это виртуальное поле, существующее при доступе к данным, а непосредственно данные размещяются в подходящем типе машинном типе данных. Округлений быть не должно, если только ты не пытаешься обратиться AsInteger



Страницы: 1 вся ветка

Текущий архив: 2002.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.12 c
1-58084
SZap
2002-07-08 10:48
2002.07.18
array


3-57955
boa
2002-06-24 06:50
2002.07.18
Проблема с доступом к пакетной процедуре через роль


6-58243
Crypter
2002-05-09 11:15
2002.07.18
Простой вопрос по сокетам


4-58369
mari_ra
2002-05-20 11:23
2002.07.18
Повторный вызов CreateEnhMetaFile


1-58090
AFROLOV
2002-07-08 13:31
2002.07.18
Как отследить нажатие кнопки TAB