首页 > 解决方案 > Pyodbc 从十进制(11,0)中删除尾随 0

问题描述

我正在通过在 python 3.6 中HORTONWORKS HIVE ODBC Driver使用来查询 HIVE 数据库。pyodbc '4.0.23'我正在查询的表包含Decimal(11,0)格式中的字段。我无法控制创建此表的上游任务。

如果该字段的值以 0 结尾 - 例如2112332230pyodbc 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'), )]

没有任何内容被截断。

是我做错了什么还是pyodbc中的错误?

标签: pythonhivepyodbc

解决方案


推荐阅读