powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / подскажите по типу number
25 сообщений из 42, страница 1 из 2
подскажите по типу number
    #39583010
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице колонка number(16), после ввода данных(1234567890123456) получается что-то вроде 1.4300000Е15
Что можно сделать? (версия оракла 9)
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583015
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeosЧто можно сделать? что можно делать с числами
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583017
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeos,
ето визуальное отображение по умолчанию

зависит от средств вывода
напр
1) в плюсе col field format 9999999999999999 (или set numformat)
2) явно преобразовать в строку используя нужный формат to_char(field,'9999999999999999')

.....
stax
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583024
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что программа грузит через (jdbc) в таблицу данные и потом они отражаются в веб приложении, ранее поле было короче (9 символов) после увеличения длины вместо 1234567890123456 стало 1.4444Е12. Неважно в приложении или через sqlplus.
В том же postgres такой проблемы нет.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583026
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeos потом они отражаются в веб приложении
Так с приложением и разбирайся, причем здесь Oracle? В БД числа хранятся одинаково независимо от количества цифр.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583041
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeos,

select id,to_char(f,'9999999999999999') s,dump(f) d from table where id=xxx
что выдает?

xxx -ід записи с "длинным" значением

.....
stax
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583061
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторto_char(f,'9999999999999999')
нормально выдает
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583347
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeosавторto_char(f,'9999999999999999')
нормально выдает

Значит виновато клиентское приложение в таком отображении. Копайте там.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583455
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeos, а может из клиента передаётся стандартный тип double ? Он как раз 64 бита, или 15 десятичных цифр. А когда в него попадает большеее кол-во десятичных цифр, то в клиенте (или где-либо на стыке технологий) конвертируется в экспоненциальный формат? типа того. Нет?
...
Рейтинг: 0 / 0
подскажите по типу number
    #39583573
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeosВ таблице колонка number(16), после ввода данных(1234567890123456) получается что-то вроде 1.4300000Е15
Что можно сделать? (версия оракла 9)номера счетов и прочие идентификаторы лучше хранить как строки
...
Рейтинг: 0 / 0
подскажите по типу number
    #39584375
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxolegeosВ таблице колонка number(16), после ввода данных(1234567890123456) получается что-то вроде 1.4300000Е15
Что можно сделать? (версия оракла 9)номера счетов и прочие идентификаторы лучше хранить как строки

Идентификаторы как строки? А почему?
...
Рейтинг: 0 / 0
подскажите по типу number
    #39584463
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

Чтобы избежать проблем точности в последних разрядах и заменить их проблемами кодировки и сортировки.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39584491
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envFoxter,

Чтобы избежать проблем точности в последних разрядах и заменить их проблемами кодировки и сортировки.+ лидирующие нули по вкусу
...
Рейтинг: 0 / 0
подскажите по типу number
    #39584499
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterИдентификаторы как строки? А почему?Если федеральное казначейство не изменило правила, то лицевые счета государственных учреждений могут содержать (русские) буквы.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585233
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envFoxter,

Чтобы избежать проблем точности в последних разрядах и заменить их проблемами кодировки и сортировки.

И замедлить выборку, видимо? ))) Я, естественно только о числовых идентификаторах...
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585248
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterИ замедлить выборкуДата занимает 7 байт. Количество дней с 1900-01-01 занимает 4 байта. Дни рождения ты как хранишь?
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585267
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-FoxterИ замедлить выборкуДата занимает 7 байт. Количество дней с 1900-01-01 занимает 4 байта. Дни рождения ты как хранишь?
Гм...
Код: plsql
1.
2.
3.
4.
5.
with t as (select trunc(sysdate)-date'1900-01-01' days from dual)
select days, dump(days) from t;

DAYS  DUMP(DAYS)
43114 Typ=14 Len=8: 106,168,0,0,0,0,0,0
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585275
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-FoxterИ замедлить выборкуДата занимает 7 байт. Количество дней с 1900-01-01 занимает 4 байта. Дни рождения ты как хранишь?

Я про поиск по тексту и связи с внешними таблицами при связи по регистрационному идентификатору документа
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585276
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterЯ про поиск по тексту и связи с внешними таблицами при связи по регистрационному идентификатору документа
Покажи как замедляет.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585280
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousFoxterЯ про поиск по тексту и связи с внешними таблицами при связи по регистрационному идентификатору документа
Покажи как замедляет.

Я не могу сейчас показать, но числа же сравниваются быстрее строк. Так как, насколько помню, строки сравниваются посимвольно, а числа целиком.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585284
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterЯ не могу сейчас показать, но числа же сравниваются быстрее строк.
Вот когда сможешь, тогда и приходи.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585301
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterТак как, насколько помню, строки сравниваются посимвольно, а числа целиком.Чтобы помнить, нужно знать, а ты не знаешь.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585305
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous-2-пропущено...
Дата занимает 7 байт. Количество дней с 1900-01-01 занимает 4 байта. Дни рождения ты как хранишь?
Гм...
Код: plsql
1.
2.
3.
4.
5.
with t as (select trunc(sysdate)-date'1900-01-01' days from dual)
select days, dump(days) from t;

DAYS  DUMP(DAYS)
43114 Typ=14 Len=8: 106,168,0,0,0,0,0,0



Что такое Typ=14

и что если добавить еще один trunc, какой тогда len,typ ?

Код: plsql
1.
2.
with t as (select trunc(trunc(sysdate)-date'1900-01-01') days from dual)
select days, dump(days) from t;
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585306
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicFoxterТак как, насколько помню, строки сравниваются посимвольно, а числа целиком.Чтобы помнить, нужно знать, а ты не знаешь.

Ну докажите противоположное, что скорость сравнения строк и чисел одинаковая. Раз уж так настаиваете на этом.
...
Рейтинг: 0 / 0
подскажите по типу number
    #39585312
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterElicпропущено...
Чтобы помнить, нужно знать, а ты не знаешь.

Ну докажите противоположное, что скорость сравнения строк и чисел одинаковая. Раз уж так настаиваете на этом.

погугли libc_hidden_builtin_def strncmp

строки давно сравниваются пачками байт - вплоть до того, что пачками по 16 байт как SSE2 числа
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / подскажите по типу number
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]