Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Запись в поле NUMBER длинного числа  [new]
Зурбаган
Member

Откуда:
Сообщений: 77
В таблице есть поле типа NUMBER (18,0)
При попытке записи в него числа длинной более 15 символов числа с конца превращаются в нули.
Например, 22001203192312332 записывается как 22001203192312300.
Почему? Как исправить?
13 янв 20, 16:30    [22058091]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
123йй
Member

Откуда:
Сообщений: 1577
Зурбаган
Почему? Как исправить?

а у меня получилось 2,20012031923123E16
13 янв 20, 16:36    [22058094]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
j2k
Member

Откуда: Новосибирск
Сообщений: 550
Зурбаган

Например, 22001203192312332 записывается как 22001203192312300.
Почему? Как исправить?

Записывается нормально, проблема в том, как вы это проверяете
13 янв 20, 16:37    [22058096]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29593
Зурбаган
При попытке записи в него числа длинной более 15 символов числа с конца превращаются в нули.
Клиентское приложение bind-ится на аноаогичный BINARY_DOUBLE-у тип, в котором всего лишь ~15 десятичных знаков мантиссы.
13 янв 20, 16:52    [22058110]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9732
123йй
Зурбаган
Почему? Как исправить?

а у меня получилось 2,20012031923123E16


Медитируй над:

SQL> SELECT 22001203192312332 FROM DUAL;

22001203192312332
-----------------
       2.2001E+16

SQL> set numwidth 20
SQL> /

   22001203192312332
--------------------
   22001203192312332

SQL> 


SY.
13 янв 20, 18:37    [22058203]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 53179
а где нужны числа с 18 знаками?
13 янв 20, 23:25    [22058370]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1112
andreymx,

у нас есть сиквенсы, уже доросшие до 16 знаков. за 20 лет. не думаю, что у нас самые нагруженные базы...
14 янв 20, 01:00    [22058399]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 53179
проходил мимо...
andreymx,

у нас есть сиквенсы, уже доросшие до 16 знаков. за 20 лет. не думаю, что у нас самые нагруженные базы...
я бы любой идшник таких размеров делал бы строкой
Наверное
14 янв 20, 06:23    [22058451]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
-2-
Member

Откуда:
Сообщений: 15145
проходил мимо...
у нас есть сиквенсы, уже доросшие до 16 знаков. за 20 лет. не думаю, что у нас самые нагруженные базы...
Сравнивать можно по объему. 2e16 строк при среднем объеме записей 100 байт это где-то на порядок более, чем индексирует гугл.
Можно по нагрузке. 2e16 строк за 20 лет это где-то 32 миллионов строк в секунду.
14 янв 20, 06:57    [22058457]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
123йй
Member

Откуда:
Сообщений: 1577
SY


Медитируй над:
SY.
не, мне это не надо, а ТС, который смотрит в гуи, проще сделать to_char.
14 янв 20, 09:05    [22058495]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 53179
-2-
проходил мимо...
у нас есть сиквенсы, уже доросшие до 16 знаков. за 20 лет. не думаю, что у нас самые нагруженные базы...
Сравнивать можно по объему. 2e16 строк при среднем объеме записей 100 байт это где-то на порядок более, чем индексирует гугл.
Можно по нагрузке. 2e16 строк за 20 лет это где-то 32 миллионов строк в секунду.
никто не обещал, что без дырок

может, там стоит cache=1000000000 и БД перегружается каждый час :)

Сообщение было отредактировано: 14 янв 20, 09:08
14 янв 20, 09:07    [22058499]     Ответить | Цитировать Сообщить модератору
 Re: Запись в поле NUMBER длинного числа  [new]
-2-
Member

Откуда:
Сообщений: 15145
andreymx
никто не обещал, что без дырок
Являясь стилистической фигурой, гипербола и не требует изыскивания ее эксцентриситета.
14 янв 20, 10:50    [22058585]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить