当我使用 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)
这符合预期。
Access 没有
Time
字段,只有 DateTime
,并使用 1899-12-30 00:00:00 作为参考时间。因此,仅指定日期的字段将显示为 1899 年 12 月 30 日的该日期。您可以忽略日期部分。