无法在datetime列Python中获取null

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

我有一个表ServerHistory在SybaseASE数据库中有多个varchar和datetime字段,我使用pyodbc库从我的Python代码库连接到数据库。

该表允许null datetime并且有一些记录,其中up​​date为null但是当我从Python执行sql来读取这些记录时,我在更新字段中永远不会为null。

相反,它会获取之前的datetime字段liveDate的值,并将其填充为updDate。如果我只选择updDate,它会给我一个ValueError“year 0 / no no。超出范围”。

connection = pyodbc.connect('connection str')results = connection.execute(“select server from server history where server = \'srvr1 \'”)。fetchone()

ValueError:年份31728超出范围

我相信可能会发生错误,因为根据sqlalchemy can't read null dates from sqlite3 (0000-00-00): ValueError: year is out of range,Python不允许低于1年级的时间

不过,我仍然不明白如何解决我的问题,以便在执行查询时将null作为日期时间。

python-3.x pyodbc
1个回答
1
投票

手锯伊什:

当你使用从pyodbc收集的数据时,使用coalesce(updDate , date('0001/01/01')select updDate, .. from ...并将任何这样的updDate视为None

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