2017-02-07 4 views
0

Я пытаюсь получить данные с плавающей запятой из базы данных Sybase, точно так же, как она хранится, используя isql в сценарии оболочки, чтобы иметь возможность скопировать его в другую таблицу. Проблема, с которой я столкнулся, заключается в том, что она округляет эти числа до шести знаков после запятой. Такое поведение отмечено в документации (точная цитата, «isql отображает только шесть цифр плавающих или реальных данных после десятичной точки, округляя остаток».), Но я все равно хотел бы найти способ обойти это, так как я У меня нет других инструментов для работы.Sybase isql ограничивает выход до шести знаков после запятой - Как обойти это?

Я пытался использовать CONVERT и CAST в своих запросах как для DOUBLE, так и для VARCHAR, но не повезло.

Есть ли способ обойти это ограничение?

ответ

1

Явно конвертировать его на стороне сервера до максимальной точности, например. конвертируйте (ЧИСЛОВОЙ (38,18), your_col) ОТ your_table

+0

Забыл добавить преобразование в строку: SELECT CONVERT (VARCHAR (60), CONVERT (NUMERIC (38,18)), your_col) ОТ your_table – RobV

+0

YEP , это сработало. Благодаря! – Kirill