使用pyodbc选择时间数据类型的字段

问题描述 投票:0回答:1

当我使用 pyodbc 模块选择时间数据类型的字段(来自 MS ACCESS 数据库)时,我收到一种奇怪的格式。当我直接在访问中运行查询时,它按预期以 HH:MM:SS 格式显示。

我的 SQL 查询:

SELECT [F].float, [I].time_inserted
FROM [Float] AS F, Insersion AS I
WHERE F.floaterID = I.floaterID;

我的 Insersion 表的 DDL 查询:

CREATE TABLE Insersion (
insersionID COUNTER PRIMARY KEY, 
date_inserted DATE, 
time_inserted TIME, 
floaterID INT, 
wholeID INT, 
FOREIGN KEY (floaterID) REFERENCES [Float] (floaterID), 
FOREIGN KEY (wholeID) REFERENCES [whole] (wholeID), 
conversionType VARCHAR(30))

Python:

cursor = conn.cursor()
cursor.execute(query)
for row in cursor.fetchall():
     print(row)

预计:12:14:29

现实:datetime.datetime(1899, 12, 30, 12, 14, 29)

预计:12:16:39

现实:datetime.datetime(1899, 12, 30, 12, 16, 39)

python sql ms-access pyodbc
1个回答
0
投票

这符合预期。

Access 没有

Time
字段,只有
DateTime
,并使用 1899-12-30 00:00:00 作为参考时间。因此,仅指定日期的字段将显示为 1899 年 12 月 30 日的该日期。您可以忽略日期部分。

另请参阅:使用 python odbc 将时间插入 MS Access

© www.soinside.com 2019 - 2024. All rights reserved.