我有一个表ServerHistory在SybaseASE数据库中有多个varchar和datetime字段,我使用pyodbc库从我的Python代码库连接到数据库。
该表允许null datetime并且有一些记录,其中update为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作为日期时间。
手锯伊什:
当你使用从pyodbc收集的数据时,使用coalesce(updDate , date('0001/01/01')
你select updDate, .. from ...
并将任何这样的updDate
视为None
。