Pyodb c вырезание завершающего 0 из десятичного (11,0) - PullRequest
0 голосов
/ 19 июня 2020

Я запрашиваю базу данных HIVE через HORTONWORKS HIVE ODBC Driver, используя pyodbc '4.0.23' в python 3.6. Запрашиваемая таблица содержит поле в формате Decimal(11,0). У меня нет контроля над восходящими задачами, которые создают эту таблицу.

Если значение этого поля заканчивается на 0 - например, 2112332230, результат pyodb c execute будет 211233223 с обрезанным последним нулем .

При использовании того же коннектора из других инструментов, таких как Power BI, я получаю правильный результат 2112332230.

Вот запрос:

select my_field from my_db.my_table
where my_field = 2112332230

и результат из conn.execute(sql).fetchall():

[(Decimal('211233223'), )]

и результат для значения, которое не заканчивается на 0, например 2112332231:

[(Decimal('2112332231'), )]

Ничего не было усечено .

Я что-то делаю не так или это ошибка в pyodb c?

...