我得到了
ValueError:年份超出范围
当我的psycopg2
cursor.fetchall 遇到具有奇怪年份的日期值时,例如0001。
有没有办法让psycopg2与任何一年兼容并避免这种例外?
答案 0 :(得分:1)
如果年份小于python支持的年份,您可以编写自己的类型规范并返回date.min。请参阅this faq(关于为float
数据返回Decimal
而不是numeric
),并将其作为起点,根据您的数据类型和要求对其进行自定义。
答案 1 :(得分:0)
扩展到 piro 的回答
DATE2STR = psycopg2.extensions.new_type(
psycopg2.extensions.DATE.values,
'DATE2STR',
lambda value, curs:
str(value) if value is not None else None)
psycopg2.extensions.register_type(DATE2STR)