Страница 1 из 1

Доступ к полю типа Double через ODBC драйвер

Добавлено: 30 июл 2008, 15:27
Ренат
Доброе время суток.
Пишу простой запрос

Код: Выделить всё

   select kol, price from spsopr
Результат не сооветсвует реальным данным.
Например вместо 1 получаю 0,00099....
Почему так может происходить?
Спасибо.

Добавлено: 30 июл 2008, 15:35
m0p3e
Потому что реально лежит 0,000999(9) :)
Особенности реализации БД.

Добавлено: 30 июл 2008, 15:36
Ренат
А как получить результат идентичный тому как если бы я выполнял запрос из Атлантис?

Добавлено: 30 июл 2008, 16:46
Ренат
Неужели нельзя? Не верю! :-(

Добавлено: 30 июл 2008, 16:50
m0p3e
select Round ( kol, {количество знаков после запятой} ) from....

Кажется можно задать количtство цифр после запятой при выводе по умолчанию для double, но не помню где.

Добавлено: 30 июл 2008, 17:27
Ренат
Round не то что надо. Он же просто округляет

Добавлено: 30 июл 2008, 17:50
m0p3e
А что он еще должен делать? :)
Если в базе данных лежит не 1, а 0,99999999999999999999. Так же может лежать 1,00000000000000000001.

Добавлено: 30 июл 2008, 17:58
Ренат
а вот и нет. Должно быть 1 а лежит что то типа 0,000099999.
Или должно быть 3 333 333 а лежит 9 999 999.
Зависимости я не понял

Добавлено: 30 июл 2008, 18:28
m0p3e
Хм. Это уже что-то другое. Но как говорил мой преподователь по информатике "Чудес не бывает". Платформа какая? Pervasive? MSSQL? Oracle?

Добавлено: 31 июл 2008, 10:51
Ренат
Pervasive

Добавлено: 31 июл 2008, 12:13
mikl628

Добавлено: 31 июл 2008, 14:19
m0p3e
О! Поиск рулит. :)

Добавлено: 31 июл 2008, 15:10
Ренат
Покорнейше благодарю! :)