Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Что есть тип NUMERIC?   Найти похожие ветки 

 
S@shka ©   (2004-06-09 13:17) [0]

Ссылаясь на "Мир Interbase" изд 2.
Стр 21.
Numeric - разрядность от 1 до 18 и точность от 0 до разрялности.
(Разрядность - это общее цисло цифр в числе - точность - число знаков после запятой).
Кроме того дана таблица: Хранение числе с фикс. точностью
Разрядность   Диалект 3
1-4             SMALLINT
5-9             Integer
10-18           INT64
------------------------------------------------------------
NUMERIC (10,2) - я так понимаю - это число у которого всего 10 цифр из которых до 2 после запятой.
Но почему тогда я в это поле могу внести значение
1 123 123 123, 11 - и оно корректно запишется???
NUMERIC (9,8)
позволяет хранить
11,111
но
111,111  - уже ошибка.
---------------------------------------------------------------
ОБъясните плиз, что да как с форматами данных с фиксированной точкой.


 
Alexandr ©   (2004-06-09 13:32) [1]

а может ну их нафиг, а?
использовать только Integer (int64) и double precision
с которыми все более чем прозрачно.


 
S@shka ©   (2004-06-09 13:35) [2]

Сомнительный ответ :)
Но все равно спасибо.


 
bushmen ©   (2004-06-09 14:22) [3]

Не знаю как в FB, а в MSSQL все так , как и должно быть! :)


 
S@shka ©   (2004-06-09 14:35) [4]

А как должно быть????
Я поэтому и вопрос задаю.


 
bushmen ©   (2004-06-09 14:47) [5]

Сам же говорил: "NUMERIC (10,2) - я так понимаю - это число у которого всего 10 цифр из которых до 2 после запятой."


 
Johnmen ©   (2004-06-09 14:50) [6]

>S@shka ©   (09.06.04 13:17)  
Разрядность   Диалект 3
1-4             SMALLINT
5-9             Integer
10-18           INT64
>NUMERIC (10,2) - я так понимаю - это число у которого всего 10
>цифр из которых до 2 после запятой.

Это INT64 (он же BIGINT).

>Но почему тогда я в это поле могу внести значение
>1 123 123 123, 11 - и оно корректно запишется???

Потому, что 112312312311 вполне влазит туда.

>NUMERIC (9,8)
>позволяет хранить
>11,111
>но
>111,111  - уже ошибка.

Потому, что 111111 не влазит в SMALLINT.


 
S@shka ©   (2004-06-09 15:24) [7]

> Johnmen
большое спасибо - тоесть на самом деле просто на тип и надо ориентироваться.


 
S@shka ©   (2004-06-09 15:42) [8]

Немножноко не корректно конечно....
Вот как правильно....
смотрится влазит ли число полностью с домножением на
10^точность типа
в указанный "подтип".
Для случая NUMERIC (9,8) подтип=INTEGER 2 147 xxx xxx
тогда иммеем 11,ххх   => 11 * 10^8  =   1 1xx xxx xxx
и           111,xxx   =>111 * 10^8  =  11 1xx xxx xxx  - ПЕРЕБОР!!

Еще раз всем спасибо.
В книжке все таки криво рассморен вопрос с типами данных!!!!


 
Johnmen ©   (2004-06-09 16:07) [9]

Вообще говоря, NUMERIC и DECIMAL это псвдотипы. Которым соответствуют реальные FLOAT, DOUBLE PRECISION,SMALLINT,INT,BIGINT в зависимости от версии сервера и диалекта.


 
Alexandr ©   (2004-06-09 16:17) [10]

... с кучей специфичных особенностей в зависимости от версии, диалекта, фазы луны и прочего


 
Fay ©   (2004-06-09 16:48) [11]

2Alexandr ©   (09.06.04 13:32) [1]
Int64 = numeric(18, 0)


 
Anatoly Podgoretsky ©   (2004-06-09 16:58) [12]

Johnmen ©   (09.06.04 16:07) [9]
В других DECIMAL является BCD, а NUMERIC нет, иногда это одинаково.


 
Alexandr ©   (2004-06-10 07:01) [13]

Fay ©   (09.06.04 16:48) [11]
2Alexandr ©   (09.06.04 13:32) [1]
Int64 = numeric(18, 0)

да, в некоторых случаях другое обозначение сути вопроса не меняет.



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

Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.035 c
14-1087110425
Думкин
2004-06-13 11:07
2004.07.04
С днем рождения! 13 июня


4-1085242365
NLO
2004-05-22 20:12
2004.07.04
ID


3-1086671890
Litr
2004-06-08 09:18
2004.07.04
Запрос с iif


1-1087504411
Gear
2004-06-18 00:33
2004.07.04
Статическая линковка lib файлов


1-1087544244
DimonNew
2004-06-18 11:37
2004.07.04
Как создать таблицу в Word, но чтобы курсор потом был снаружи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский