Python 3.x 无法在datetime列中获取null
我在SybaseASE数据库中有一个带有多个varchar和datetime字段的ServerHistory表,我正在使用pyodbc库从Python代码库连接到数据库 该表允许null datetime,并且有一些updDate为null的记录,但是当我从Python执行sql来读取这些记录时,updDate字段中永远不会出现null 取而代之的是,它获取前一个日期时间字段liveDate的值,并将其填充为updDate。如果我只是选择updDate,它会给我一个ValueError“年份0/任何编号超出范围” connection=pyodbc.connect('connection\u str') results=connection.execute(“从ServerHistory中选择updDate,其中server=\'srvr1\'”)。fetchone() ValueError:年份31728超出范围 我相信发生错误的原因可能是Python不允许按照Python 3.x 无法在datetime列中获取null,python-3.x,pyodbc,Python 3.x,Pyodbc,我在SybaseASE数据库中有一个带有多个varchar和datetime字段的ServerHistory表,我正在使用pyodbc库从Python代码库连接到数据库 该表允许null datetime,并且有一些updDate为null的记录,但是当我从Python执行sql来读取这些记录时,updDate字段中永远不会出现null 取而代之的是,它获取前一个日期时间字段liveDate的值,并将其填充为updDate。如果我只是选择updDate,它会给我一个ValueError“年份0/
尽管如此,我仍然不明白如何解决在执行查询时将日期时间设为null的问题。Hack-Ish:
使用
coalesce(updDate,date('0001/01/01')
选择updDate,…from…并在使用从pyodbc收集的数据时将任何此类updDate
视为None
。请分享您的尝试(code)。请阅读有关如何提问的帮助页面。如果字节对应Python的datetime
无法处理的日期/时间,则可以尝试使用pyodbc捕获原始字节并返回None
。