【问题标题】:sqlalchemy can't read null dates from sqlite3 (0000-00-00): ValueError: year is out of rangesqlalchemy 无法从 sqlite3 (0000-00-00) 读取空日期:ValueError:年份超出范围
【发布时间】:2016-10-19 05:27:50
【问题描述】:

当我尝试使用sqlachemy 查询包含诸如0000-00-00 00:00:00 之类日期的数据库时,我得到ValueError: year is out of range

这是数据库转储:

这是堆栈跟踪:

File "/home/rob/.virtualenvs/calif/lib/python3.5/site-packages/sqlalchemy/engine/result.py" in items
  163.         return [(key, self[key]) for key in self.keys()]

File "/home/rob/.virtualenvs/calif/lib/python3.5/site-packages/sqlalchemy/engine/result.py" in <listcomp>
  163.         return [(key, self[key]) for key in self.keys()]

File "/home/rob/.virtualenvs/calif/lib/python3.5/site-packages/sqlalchemy/engine/result.py" in __getitem__
  90.                 return processor(self._row[index])

File "/home/rob/.virtualenvs/calif/lib/python3.5/site-packages/sqlalchemy/processors.py" in process
  48.                 return type_(*list(map(int, m.groups(0))))

Exception Type: ValueError at /
Exception Value: year is out of range

这正常吗? sqlalchemy 可以读取这样的日期吗?这是python限制吗?是否有解决方法来保持日期不变(不转换为无)?

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    通过 IRC 上的inklesspen 得到答案:Python datetime representation has minimum year and it's 1

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 2013-06-09
    • 2015-07-19
    • 2013-07-12
    • 2011-08-30
    • 2019-05-02
    相关资源
    最近更新 更多