我正在尝试将 Python 日期时间对象存储在日期类型的 ORACLE 列中。
到目前为止,我用过,
rpt_time = time.strftime('%Y-%m-%d %H:%M:%S') or
rpt_time = str(datetime.datetime.now())
但都给出 ORA-01843: 不是有效的月份
我真的很困惑如何插入ORACLE日期类型的python datetime对象
请您参考如下方法:
cx_Oracle 支持传递类 datetime.datetime 的对象。因此,当您已经拥有此类的对象时(例如调用 datetime.datetime.now() 时),您不应尝试将其格式化并作为字符串传递,而应直接传递。这样您就可以防止因日期和/或时间格式错误而导致的所有错误。
例子:
cursor.execute("INSERT INTO SomeTable VALUES(:now)", {'now': datetime.datetime.now()})
请注意,如果要防止秒的小数部分被截断,则必须采取额外的步骤。详情请看Mastering Oracle+Python, Part 2: Working with Times and Dates Przemysław Piotrowski 的文章。
