Pyodbc数字的默认类型

2024-06-26 01:44:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pyodbc从sqlserver查询数据,然后在pandas中对其执行操作。我注意到一些计算的数值列返回为十进制。十进制其他的则是浮动的。这是个问题,因为算术操作数不能对两种不同类型的结果执行。在

最好的解决方法是什么?有没有pydobc设置来强制十进制。十进制漂浮?我应该自己做转换吗?还有别的事吗?在


Tags: 数据方法类型pandas算术数值pyodbcsqlserver
2条回答

Here是转换表(在python2.x和3.x的Results标题下),详细说明了ODBC和Python数据类型之间的转换。在

或者CAST得到@aron的答案中提到的结果,或者更改数据库中的源数据类型。在

通过一些更详细的信息(特定的列数据类型、示例数据、数据库更改的灵活性),我们可以帮助确定哪个选项是最好的。在

如果编写查询,我建议只使用CAST来控制数据类型。我总是在SQLServer中显式转换计算列

SELECT CAST(ColumnA/ColumnB AS FLOAT) AS 'FieldA' FROM Table

相关问题 更多 >