FreeTDS将MS SQL money类型转换为Python float而非Decimal

0 投票
2 回答
1672 浏览
提问于 2025-04-16 02:04

我在Linux上用Python连接MS SQL Server数据库。我是通过pyodbc和FreeTDS驱动来连接的。当我从MSSQL获取一个money类型的字段时,它返回的是浮点数,而不是Python的Decimal类型。

问题出在FreeTDS上。如果我在Windows上运行完全相同的Python代码(在Windows上不需要使用FreeTDS),pyodbc会返回Python的Decimal类型。

我该如何在Linux上运行代码时获取Python的Decimal类型呢?

2 个回答

1

你可以在它返回的时候直接把它转换成十进制。

0

这是FreeTDS中的一个错误。这个错误在2010年8月4日已经在FreeTDS的最新版本中修复了(感谢Freddy Ziglio)。想了解更多信息,可以查看我在web2py论坛上的帖子

撰写回答