问题描述
当我使用 pyodbc 从访问数据库中获取数据时,它返回浮点数、日期或整数的错误格式。
例如:
我找了很久,我觉得是用的 ODBC Driver 引起的,但真的,我不知道。
另一个示例是我的 MS Access DB 中 DATE 类型的“21/01/2021”之类的日期,将作为日期时间以中文或韩文格式 YYYY-mm-dd H:m:s 返回。>
解决方法
如果表中的字段定义使用默认格式选项,浮点列(Numeric(Double)
和 Numeric(Single)
)将在 Access UI 中显示所有小数位
格式:(空)
小数位:自动
将这些设置更改为
格式:固定
小数位:2
将更改 Access UI 中的显示格式,但数字本身仍将以其完全精度存储。 ODBC 驱动程序不注意这些格式属性,因此它返回带有所有可用小数位的值。
对于日期/时间值,如果时间组件正好是午夜,则 Access UI 中的默认格式是只显示日期。但是,日期/时间值与该时间组件 (00:00:00
) 一起存储,并且 ODBC 驱动程序再次返回完整值。有关更详细的说明,请参阅 this answer。